Javascript mongoDB:Can';t向数组对象添加字段
以下是我的db文档的外观:Javascript mongoDB:Can';t向数组对象添加字段,javascript,mongodb,Javascript,Mongodb,以下是我的db文档的外观: { "_id" : "aN2jGuR2rSzDx87LB", "content" : { "en" : [ { "content" : "Item 1", "timestamp" : 1518811796 } ] } } 现在我需要在content.en数组的第一个对象中添加另一个字段。 文档本身由I
{
"_id" : "aN2jGuR2rSzDx87LB",
"content" : {
"en" : [
{
"content" : "Item 1",
"timestamp" : 1518811796
}
]
}
}
现在我需要在content.en
数组的第一个对象中添加另一个字段。
文档本身由ID选择。
结果应该是:
{
"_id" : "aN2jGuR2rSzDx87LB",
"content" : {
"en" : [
{
"content" : "Item 1",
"timestamp" : 1518811796,
"user" : {
"id" : 'userId'
}
}
]
}
}
我试着这样做,但什么也没发生。我甚至没有收到错误消息
Content.update(
{ _id: id },
{
$addToSet: {
'content.en.0.user': {
id: 'userId',
}
}
}
)
我还想为语言使用一个变量。我该怎么做?类似于'content.+language+'.0.user'
..的内容在向数组添加内容时非常有用。在您的情况下,您希望修改数组的第一个元素(在索引0
),因此只需使用(即字段更新运算符):
Content.update(
{ _id: "aN2jGuR2rSzDx87LB" },
{
$set: {
"content.en.0.user": {
id: "userId",
}
}
}
)