Mongoose:$ addToSet不检查重复项

时间:2016-03-03 14:59:06

标签: mongodb mongoose duplicates

你能看一下这段代码吗?我有重复。

这是架构:

var Account = new Schema({
     username: String,
     votes:[
       {                                            
         resId: String,                                 
         upvoted:[String]                                                           
       }
     ]                                                                          
 });

我正在尝试将项目添加到投票

var id = 'a';
var resId = 'b';

users.update({'_id':id},                
    {
         '$addToSet': {'votes': {'resId': resId}}
    }
);

问题是,在我只需要一次更新后,我会得到其中两个:

[
 {
    'username': 'Fat Gandalf',
    'votes': [
       {
          '_id': objectID('11111111111111111111111'),
          'resId': 'b',
          'upvoted': []
       }
    ]
},
{
    'username': 'Fat Gandalf',
    'votes': [
       {
          '_id': objectID('2222222222222222222222'),
          'resId': 'b',
          'upvoted': []
       }
    ]
 }
]

为什么$ addToSet不会在这里检查欺骗?这有解决方法吗?试过 $ push ,它也没用。非常感谢提前!

0 个答案:

没有答案