mongo native ensureIndex不创建索引

时间:2012-05-19 21:54:51

标签: node.js mongodb

我正在使用节点的mongodb本机驱动程序。我在检索集合后调用ensureIndex({ keywords: 1})。当我登录mongo控制台时,当我拨打db.mycol.getIndexes()时没有任何内容。

我做错了什么?

2 个答案:

答案 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()

第一个片段根本没有做任何事情。没有创建索引,也没有抛出错误。