我开始使用$push
和$each
运算符将项添加到现有数组中。
例如,我像这样更新现有文档:
Collection.update({userId: currentUser}, {$push: {data: {$each: document}}});
很抱歉,如果语法有点混乱。我在Meteor上使用它。
无论如何,MongoDB如何知道他们在数组中插入了唯一的项目,在我的例子中是data
数组。
我的data
数组是一个对象数组,如下所示:
data = [
{name: "Name",
score: 24,
date: "12/3/2014",
entryCode: "3234SG34"
},
{name: "Name1",
score: 20,
date: "12/4/2014",
entryCode: "3004SG34"
}
];
基本上,唯一的方法是识别"唯一性"我们是entryCode
,因为数据数组中有多个共享相同日期的对象。从文档中,$ each运算符添加了不存在/独特的元素(在最简单的情况下)。将对象添加到现有对象数组时是否同样适用?如果没有,那么如何更新MongoDB文档并仅添加唯一的对象条目?