来自Javascript函数的MongoDB AddToSet

时间:2015-02-19 15:08:19

标签: mongodb

我有一个集合(注册表),其文档格式如下:

{ id_: 1, parentId: 1000, columnValues: [ 'T1, 'T2', 'T3, 'T4', 'T5' ], tags: [ ] }

当我尝试运行此脚本时:

db.eval(function() 
{ 
   db.Registers.find({ 'parentId' : '1000', 'columnValues.3' : 'T1' })
               .forEach(function(r) 
                   { 
                       r.tags.add('TAG1'); 
                       db.Registers.save(r); 
                   }); 
})

我收到错误:

  

对象没有方法'add'

因此,标准的'add'方法不适用于向数组添加元素。 (标签是一个数组)。

应该怎么做?

谢谢!

1 个答案:

答案 0 :(得分:0)

您需要$push(或$addToSet来维护唯一值。)