[英]mongoDB: Can't add an field to an array object
這是我的數據庫文檔的樣子:
{
"_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'
類'content.' + language + '.0.user'
東西'content.' + language + '.0.user'
'content.' + language + '.0.user'
...
$ addToSet在您要向數組添加內存時很有用。 在您的情況下,您想要修改數組的第一個元素(在索引0
),因此您應該簡單地使用$ set (這是字段更新運算符):
Content.update(
{ _id: "aN2jGuR2rSzDx87LB" },
{
$set: {
"content.en.0.user": {
id: "userId",
}
}
}
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.