我需要在MongoDB中创建一个索引来存储独特的slu ..
我使用此代码生成索引:
this._db = db;
this._collection = this._db.collection("Topics");
this._collection.ensureIndex( { slug: 1 }, { unique: true });
但是当我运行我的测试时,它在“beforeEach”上失败了:(我正在使用mongo-clean NPM)
beforeEach(function (done) {
clean(dbURI, function (err, created) {
db = created;
instance = topicManager(db);
done(err);
});
});
话说:
Uncaught Error: Cannot use a writeConcern without a provided callback
我做错了什么? (如果我评论ensureIndex一切正常)
答案 0 :(得分:5)
如回复所示,您可能需要为调用ensureIndex
提供回调函数:
this._db = db;
this._collection = this._db.collection("Topics");
this._collection.ensureIndex( { slug: 1 }, { unique: true }, function(error) {
if (error) {
// oops!
}});
答案 1 :(得分:2)
ensueIndex()
现已弃用于v ^ 3.0.0
对于使用^3.0.0
的人:
自3.0.0版开始不推荐使用:db.collection.ensureIndex()现在是db.collection.createIndex()的别名。
https://docs.mongodb.com/manual/core/index-unique/#index-type-unique
示例:
db.members.createIndex( { "user_id": 1 }, { unique: true } )