有一个代码:
const { MongoClient } = require('mongodb')
const db = MongoClient.connect('mongodb://172.17.0.2:27017/test')
db
.then(
async dataBase => {
eduDb = dataBase.db('edu-service-accounts')
const accounts = eduDb.collection('accounts')
await accounts.createIndex({ email: 1 }, { unique: true })
accounts.insertOne({ email: '123' })
}
)
上面的代码创建了一个索引,但这并不是唯一的。我已经阅读了本机mongoDB驱动程序的官方文档,但无法处理它。 是的,我在测试该代码之前删除了所有旧的indexex。
有人可以展示一个真正创建独特索引的代码。 我的意思是不是官方文档的一部分,或类似的东西 - 我需要有效的代码。 注意:我使用本地db和mlab测试了该代码 - 结果相同。
答案 0 :(得分:1)
就像文档说:db.createIndex(collectionname, index[, options], callback)
一样,创建会返回一个索引。尝试记录回调的结果。也许你从db获得了一个错误。
尝试类似:
// your connection stuff
accounts.createIndex({ email: 1 }, { unique: true }, function(err, result) {
if(err) {
console.log(err);
} else {
console.log(result);
}
});
之后请提供日志。