使用索引创建集合

时间:2015-02-01 10:07:30

标签: javascript mongodb

我想创建一个具有唯一索引的集合 我使用认为它足以在我的应用程序启动中执行此操作 -

db.collection('myCollection', {strict: true}, function (err, collection) {
    if (!err)
    {
        collection.ensureIndex({ "name" : 1},{unique: true}, function dummy(result,err){});
    }
});

``

但是,当第一次运行应用程序时,'myCollection'集合不存在,因此我的'ensureIndex'不会被调用(错误将返回给回调)。这意味着我的索引没有按预期创建。

我看到你可以使用createCollection()功能,但据我所知,这不是标准做法 确保在插入第一个文档时,我的索引已经到位的最佳做法是什么?

1 个答案:

答案 0 :(得分:0)

db.collection电话中移除{strict: true}选项;这就是导致它在不存在集合的情况下向你的回调返回错误的原因(这是该选项的唯一目的)。

db.collection('myCollection', function (err, collection) {
    if (!err)
    {
        collection.ensureIndex({"name": 1},
                               {unique: true}, 
                               function dummy(result,err){});
    }
});