• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java IndexModel类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中com.mongodb.client.model.IndexModel的典型用法代码示例。如果您正苦于以下问题:Java IndexModel类的具体用法?Java IndexModel怎么用?Java IndexModel使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



IndexModel类属于com.mongodb.client.model包,在下文中一共展示了IndexModel类的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: reCreateIndex

import com.mongodb.client.model.IndexModel; //导入依赖的package包/类
@Override
public List<String> reCreateIndex (T... t) {
	T theT = null;
	
	if (t == null || t.length < 1 || t[0] == null) {
		try {
			// new Instance
			theT = (T) Class.forName(clazz.getName()).newInstance();
		} catch (Exception e) {
			gc(); // clear data
			throw new RuntimeException(e);
		} 
	}
	else {
		theT = t[0];
	}
	
	// get current collection name
	String collectionNameForT = getCollectionName(collectionNames.get());
	
	List<IndexModel> indexs   = getIndexs(theT);
	
	// delete collection indexes
	database.getCollection(collectionNameForT).dropIndexes();
	List<String>     index    = database.getCollection(collectionNameForT).createIndexes(indexs);
	
	// clear garbage
	gc();
	
	return index;
}
 
开发者ID:lolog,项目名称:mogodb-dao,代码行数:32,代码来源:MongoDaoImpl.java


示例2: createIndexes

import com.mongodb.client.model.IndexModel; //导入依赖的package包/类
@Override
public List<String> createIndexes(List<IndexModel> arg0)
{
    int writeSize = 0;
    OperationMetric metric = null;
    if (MongoLogger.GATHERER.isEnabled())
    {
        List<String> keyValuePairs = MongoUtilities.getIndexModelKeyValuePairs(arg0);
        String operationName = "Mongo : " + getNamespace().getCollectionName() + " : createIndexes";
        metric = startMetric(operationName, keyValuePairs);
    }

    List<String> retVal = collection.createIndexes(arg0);

    stopMetric(metric, writeSize);

    return retVal;
}
 
开发者ID:dd00f,项目名称:ibm-performance-monitor,代码行数:19,代码来源:ProfiledMongoCollection.java


示例3: getIndexModelKeyValuePairs

import com.mongodb.client.model.IndexModel; //导入依赖的package包/类
public static List<String> getIndexModelKeyValuePairs(List<IndexModel> arg0)
{
    List<String> retVal = new ArrayList<String>();
    for (IndexModel indexModel : arg0)
    {
        retVal.add(indexModel.getKeys().toString());
    }
    return retVal;
}
 
开发者ID:dd00f,项目名称:ibm-performance-monitor,代码行数:10,代码来源:MongoUtilities.java


示例4: run

import com.mongodb.client.model.IndexModel; //导入依赖的package包/类
@Override
public void run(Environment environment, Namespace namespace, SamConfiguration configuration) throws Exception {

  final MongoDatabase database = configuration.getDbConnectionFactory().getDatabase(environment.lifecycle());

  final MongoCollection<Document> servers = database.getCollection(Collections.SERVERS);
  servers.createIndexes(Lists.newArrayList(
    new IndexModel(
      ascending("fqdn"),
      new IndexOptions().unique(true).sparse(true)
    ),
    new IndexModel(
      compoundIndex(ascending("hostname"), ascending("environment")),
      new IndexOptions().unique(true)
    ),
    new IndexModel(
      compoundIndex(Indexes.text("hostname"), Indexes.text("environment"), Indexes.text("fqdn"), Indexes.text("description")),
      new IndexOptions().weights(new Document().append("hostname", 10).append("fqdn", 10).append("environment", 5)).defaultLanguage("sv")
    )
  ));

  final MongoCollection<Document> applications = database.getCollection(Collections.APPLICATIONS);
  applications.createIndexes(Lists.newArrayList(
    new IndexModel(
      ascending("id"),
      new IndexOptions().unique(true)
    ),
    new IndexModel(
      compoundIndex(Indexes.text("id"), Indexes.text("name"), Indexes.text("description")),
      new IndexOptions().weights(new Document().append("id", 10).append("name", 10)).defaultLanguage("sv")
    )
  ));

  final MongoCollection<Document> groups = database.getCollection(Collections.GROUPS);
  groups.createIndexes(Lists.newArrayList(
    new IndexModel(
      ascending("id"),
      new IndexOptions().unique(true)
    ),
    new IndexModel(
      ascending("tags")
    ),
    new IndexModel(
      compoundIndex(Indexes.text("id"), Indexes.text("name"), Indexes.text("description"), Indexes.text("tags")),
      new IndexOptions().weights(new Document().append("id", 10).append("name", 10).append("tags", 5)).defaultLanguage("sv")
    )
  ));

  final MongoCollection<Document> assets = database.getCollection(Collections.ASSETS);
  assets.createIndexes(Lists.newArrayList(
    new IndexModel(
      ascending("id"),
      new IndexOptions().unique(true)
    ),
    new IndexModel(
      compoundIndex(Indexes.text("id"), Indexes.text("name"), Indexes.text("description")),
      new IndexOptions().weights(new Document().append("id", 10).append("name", 10)).defaultLanguage("sv")
    )
  ));
}
 
开发者ID:atgse,项目名称:sam,代码行数:61,代码来源:CreateDatabaseCommand.java


示例5: createIndexes

import com.mongodb.client.model.IndexModel; //导入依赖的package包/类
@Override
public Observable<String> createIndexes(final List<IndexModel> indexes) {
    return RxObservables.create(Observables.observeAndFlatten(new Block<SingleResultCallback<List<String>>>() {
        @Override
        public void apply(final SingleResultCallback<List<String>> callback) {
            wrapped.createIndexes(indexes, callback);
        }
    }), observableAdapter);
}
 
开发者ID:mongodb,项目名称:mongo-java-driver-rx,代码行数:10,代码来源:MongoCollectionImpl.java


示例6: createIndexes

import com.mongodb.client.model.IndexModel; //导入依赖的package包/类
@Override
public Publisher<String> createIndexes(final List<IndexModel> indexes, final CreateIndexOptions createIndexOptions) {
    return new ObservableToPublisher<String>(observeAndFlatten(new Block<SingleResultCallback<List<String>>>() {
        @Override
        public void apply(final SingleResultCallback<List<String>> callback) {
            wrapped.createIndexes(indexes, createIndexOptions, callback);
        }
    }));
}
 
开发者ID:mongodb,项目名称:mongo-java-driver-reactivestreams,代码行数:10,代码来源:MongoCollectionImpl.java


示例7: createIndex

import com.mongodb.client.model.IndexModel; //导入依赖的package包/类
@Override
public List<String> createIndex (T... t) {
	T theT = null;
	
	if (t == null || t.length < 1 || t[0] == null) {
		try {
			// new Instance
			theT = (T) Class.forName(clazz.getName()).newInstance();
		} catch (Exception e) {
			gc(); // clear data
			throw new RuntimeException(e);
		} 
	}
	else {
		theT = t[0];
	}
	
	// get current collection name
	String collectionNameForT = getCollectionName(collectionNames.get());
	
	List<String> index = new ArrayList<String>();
	
	List<IndexModel> indexs = getIndexs(theT);
	if (indexs.isEmpty() == false) {
		index = database.getCollection(collectionNameForT).createIndexes(indexs);
	}
	
	return index;
}
 
开发者ID:lolog,项目名称:mogodb-dao,代码行数:30,代码来源:MongoDaoImpl.java


示例8: getIndexs

import com.mongodb.client.model.IndexModel; //导入依赖的package包/类
@Override
public List<IndexModel> getIndexs (T t) {
	// 获取该类的属性
	Field[] clazz_fields      = clazz.getDeclaredFields();
	// 获取T父对象的属性
	Field[] superFields       = superClazz.getDeclaredFields();
	
	Field[] fields = new Field[clazz_fields.length + superFields.length];
	
	// 合并T与T父对象的属性
	System.arraycopy(clazz_fields, 0, fields, 0, clazz_fields.length);
	// 合并T与T父对象的属性
	System.arraycopy(superFields, 0, fields, clazz_fields.length, superFields.length);
	
	// 创建索引序列
	List<IndexModel> indexModels = new ArrayList<IndexModel>();
	
	// 循环该类的属性
	for (Field field: fields) {
		// 如果属性被Index注解,那么
		if (field.isAnnotationPresent(Index.class)) {
			// 获取注解对象
			Index index = field.getAnnotation(Index.class);
			
			// MongoDB ObjectID主键或者不是主键
			if(index.id() == true || index.key() == false) {
				continue;
			}
			
			// 创建索引键
			BasicDBObject keys = new BasicDBObject();
			keys.append(field.getName(), index.order());
			
			// 附加选项
			IndexOptions indexOptions = new IndexOptions();
			
			if(index.background()) {
				indexOptions.background(index.background());
			}
			
			// 所有名字
			if("".equals(index.name()) == false) {
				indexOptions.name(index.name());
			}
			
			// 唯一字段
			if(index.unique()) {
				indexOptions.unique(index.unique());
			}
			
			if(index.sparse()) {
				indexOptions.sparse(index.sparse());
			}
			
			// 创建索引
			IndexModel indexModel = new IndexModel(keys,indexOptions);
			// 索引
			indexModels.add(indexModel);
		}
	}
	return indexModels;
}
 
开发者ID:lolog,项目名称:mogodb-dao,代码行数:63,代码来源:DocumentUtilImpl.java


示例9: add

import com.mongodb.client.model.IndexModel; //导入依赖的package包/类
public MongoIndex add(MongoIndex mongoIndex) {
    indexModels.add(new IndexModel(Indexes.compoundIndex(mongoIndex.getBson()), mongoIndex));
    return this;
}
 
开发者ID:T-baby,项目名称:MongoDB-Plugin,代码行数:5,代码来源:MongoIndex.java


示例10: createIndex

import com.mongodb.client.model.IndexModel; //导入依赖的package包/类
@Test
public void createIndex()
{
    coll.createIndex(new Document("name", 1));

    coll.dropIndex(new Document("name", 1));

    coll.createIndex(new Document("name", 1), new IndexOptions());

    coll.dropIndex(new Document("name", 1));

    coll.createIndexes(Arrays.asList(new IndexModel(new Document("name", 1))));

    coll.dropIndexes();
}
 
开发者ID:dd00f,项目名称:ibm-performance-monitor,代码行数:16,代码来源:ProfiledMongoClientTest.java


示例11: getIndexs

import com.mongodb.client.model.IndexModel; //导入依赖的package包/类
/**
 * @title         getIndexs
 * @author        lolog
 * @description   get The Document Indexes
 * @param t       Object
 * @return        Indexes
 * @throws        exception
 * @date          2016.07.10 08:48:06
 */
public List<IndexModel> getIndexs (T t);
 
开发者ID:lolog,项目名称:mogodb-dao,代码行数:11,代码来源:DocumentUtil.java


示例12: createIndexes

import com.mongodb.client.model.IndexModel; //导入依赖的package包/类
/**
 * Create multiple indexes.
 *
 * @param indexes the list of indexes
 * @return an Observable with a single element indicating when the operation has completed
 * @mongodb.driver.manual reference/command/createIndexes Create indexes
 * @mongodb.server.release 2.6
 */
Observable<String> createIndexes(List<IndexModel> indexes);
 
开发者ID:mongodb,项目名称:mongo-java-driver-rx,代码行数:10,代码来源:MongoCollection.java


示例13: createIndexes

import com.mongodb.client.model.IndexModel; //导入依赖的package包/类
/**
 * Create multiple indexes.
 *
 * @param indexes the list of indexes
 * @return a publisher with a single element indicating when the operation has completed
 * @mongodb.driver.manual reference/command/createIndexes Create indexes
 * @mongodb.server.release 2.6
 */
Publisher<String> createIndexes(List<IndexModel> indexes);
 
开发者ID:mongodb,项目名称:mongo-java-driver-reactivestreams,代码行数:10,代码来源:MongoCollection.java



注:本文中的com.mongodb.client.model.IndexModel类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java IPackageResourceGuard类代码示例发布时间:2022-05-22
下一篇:
Java StatefulRedisConnection类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap