java com.mongodb.DBCollection 创建后台索引

标签 java mongodb collections indexing

我正在通过我的Java代码创建一个mongodb集合,我想在这个集合上创建索引,但是根据在线教程,我意识到创建后台索引更好,因为它不会锁定集合来创建索引。 其代码如下:

 DBCollection ActivityLogCollection = this.db.createCollection(this.mrCollName, new BasicDBObject().append("capped", false));
 ActivityLogCollection.ensureIndex("act");

我如何确保将其创建为后台集合。我尝试使用

DBObject indexOptions = new BasicDBObject();
indexOptions.put("background", true);

然后将其传递为

ActivityLogCollection.ensureIndex(indexOptions,"act");

但是,这所做的是创建一个以键为“背景”的索引。

任何有关同一问题的帮助将不胜感激。

谢谢

瓦伊巴夫

最佳答案

将索引选项作为第二参数传递给ensureIndex:

DBObject indexFields = new BasicDBObject("act", 1);
DBObject indexOptions = new BasicDBObject("background", true);
ActivityLogCollection.ensureIndex(indexFields, indexOptions);

关于java com.mongodb.DBCollection 创建后台索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20784181/

相关文章:

mongodb - 如何在 REST API 中管理数据库版本

javascript - 如何使用 Javascript 的 Java 驱动程序在 MongoDB 中插入 created_timestamp

java - 基本类型 map 的 Hibernate 标准

java - 我什么时候使用 java Collections singletonMap 方法?

java - JComboBox 每个项目的颜色不同失败

java - Android studio,加载具有传递依赖的jar库

java - 使用 Spring LDAP 获取内部属性

java - 如何从java中的字符串数组中获取两个随机值的总和?

node.js - Mongoose 映射减少()

java - 按值对 Map<Key, Value> 进行排序