在集合上未定义ensureIndex

时间:2014-01-29 18:24:41

标签: node.js mongodb

使用版本 $ mongod --version db version v2.0.4,pdfile version 4.5 1月29日星期三23:53:30 git版本:nogitversion

尝试在“mykey”上创建uniqueIndex。

var mongoUri = process.env.MONGOLAB_URI ||
    process.env.MONGOHQ_URL ||
    'mongodb://localhost/mydb';

mongo.Db.connect(mongoUri, function (err, db) {
    db.collection('mydocs', function(er, collection) {
    db.mydocs.ensureIndex({"mykey":1}, {unique: true});
        collection.insert({'mykey': 'myvalue'}, {safe: true}, function(er,rs) {
    });

    });
});

节点应用  抛出以下错误 TypeError:无法调用未定义的方法'ensureIndex'

1 个答案:

答案 0 :(得分:-1)

以下代码有效

var mongoUri = process.env.MONGOLAB_URI ||
    process.env.MONGOHQ_URL ||
    'mongodb://localhost/mydb';

mongo.Db.connect(mongoUri, function (err, db) {
    db.collection("mydocs", function(er, collection) {
    collection.ensureIndex({mykey: 1}, {unique: true}, function() {});
        collection.insert({mykey: 'myvalue'}, {safe: true}, function(er,rs) {
    });

    });
});