我正在使用节点的mongodb本机驱动程序。我在检索集合后调用ensureIndex({ keywords: 1})
。当我登录mongo控制台时,当我拨打db.mycol.getIndexes()
时没有任何内容。
我做错了什么?
答案 0 :(得分:2)
API文档有点帮助:http://mongodb.github.com/node-mongodb-native/api-generated/db.html#ensureindex
您应该在数据库对象上调用ensureIndex,而不是集合。这与JavaScript控制台相矛盾。
答案 1 :(得分:0)
我遇到了类似的问题,问题是我在调用ensureIndex之前没有打开数据库。我在做的是(咖啡脚本)
db.collection('resources').ensureIndex {"$**": "text"}, {name: "email_index_text"},(err, indexName) ->
console.log indexName
console.log err
db.close()
什么有效?
db.open (err,database) ->
db.collection('resources').ensureIndex {"$**": "text"}, {name: "email_index_text"},(err, indexName) ->
console.log indexName
console.log err
db.close()
第一个片段根本没有做任何事情。没有创建索引,也没有抛出错误。