我有一个集合(注册表),其文档格式如下:
{ 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'方法不适用于向数组添加元素。 (标签是一个数组)。
应该怎么做?
谢谢!
答案 0 :(得分:0)
您需要$push
(或$addToSet
来维护唯一值。)