mongodb - MongoDB 索引名称

标签 mongodb

我使用 java 代码创建了 mongo 数据库集合索引

dbCollection.createIndex("accountNumber");

当我看到索引使用

db.accounts.getIndexes()

我得到的索引名称是 "accountNumber_1"

如何获取与文档字段相同的索引名称?或者如何给索引名称?

命名索引很重要还是我可以忽略它?

最佳答案

当我们在文档users上创建索引时

> db.users.createIndex({name: 1})
{
        "ok" : 0,
        "errmsg" : "Index with name: name_1 already exists with different option
s",
        "code" : 85
}

返回的是name: name_1,那么我们可以通过getIndexes()获取索引

> db.users.getIndexes()
[
        {
                "v" : 1,
                "key" : {
                        "_id" : 1
                },
                "name" : "_id_",
                "ns" : "test.users"
        },
        {
                "v" : 1,
                "unique" : true,
                "key" : {
                        "name" : 1
                },
                "name" : "name_1",
                "ns" : "test.users",
                "background" : true,
                "safe" : null
        }
]

我们知道,name_1就是索引name的值。键 name 用于为文档 users 创建索引。我认为 name_1 是满足 BSON 结构的 name 的值。我们可以忽略它...

关于mongodb - MongoDB 索引名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34871931/

相关文章:

java - 如何使用日期操作编写 Spring Data MongoDB 查询

node.js - Mongoose 更新嵌套数组

mongodb - 如何将来自三个集合的数据文档合并为一个集合

javascript - meteor + MongoDB : Check if date is in range

javascript - Meteor - 将投票添加到集合中的特定 ID

javascript - 数据库插入前检查文本

mongodb - 我可以在 mongo db 的 "$first"操作中的两个字段上使用 "$group"运算符吗?

mongodb - 如何将 $arrayToObject 应用于 mongodb 聚合中 $push 输出的数组

node.js - Mongoose:添加新的 Schema 属性并更新所有当前文档

node.js - 使用异步/等待的 mongodb 连接 - NodeJS