多字段唯一索引导致mongodb和meteor.js中的重复错误

时间:2016-03-17 09:02:22

标签: node.js mongodb meteor nosql

我正在使用mongodb和meteor.js
要使集合中的多个字段同时具有唯一性,请使用以下代码

Messages._ensureIndex({ "numbers": 1, "messageListId": 1, "userId": 1},{unique: true , sparse: true});

messageListId和userId可以为null(可选)。 当数字字段已经存在并且我想插入一个新对象时,Mongo会出现以下错误

Error: MongoError: insertDocument :: caused by :: 11000 E11000 duplicate key error index: meteor.messages.$numbers_1_messageListId_1_userId_1  dup key: { : "09355270761", : null, : null } [409]

例如我想插入

下面的对象
Messages.insert({numbers:123,messageListId:456,userId:1});

Messages.insert({numbers:123});

我给出了上面提到的错误。如何在meteor.js中执行此操作?

我看到这些链接,但我的问题没有得到解决(更新) :

How can I add a two column unique id to the mongodb in a meteor app?

Creating Multifield Indexes in Mongoose / MongoDB

Error while setting up compound index

sparse indexes and null values in mongo

感谢您的关注。

0 个答案:

没有答案