1
我正在運行下面的代碼,試圖在現有的子文檔下創建一個子文檔。基本結構是:通過索引將集合推送到子文檔?
用戶 - >(很多評論) - >(很多評級)。
評級對象是一個基本的JavaScript對象,具有結構;
rating: {
userId: "userId",
rating: 4
}
因此,對於索引[0]處的評論,我試圖用以下方式推送一個新評級;
db.getCollection('Users').update(
{id: "user123", },
{
$push: {
comments[0].ratings: rating
}
})
從蒙戈控制檯(只有設置爲「測試」的測試字符串等級)的回報,是;
Error: Line 5: Unexpected token [
我試圖繞過逗號圍繞評論[0];
db.getCollection('Insights').update(
{id: "b5e5bf69-071b-4af2-99b2-5165b47499cb", },
{
$push: {
"comments[0].ratings": "test"
}
})
這實際上是成功返回;
Updated 1 existing record(s) in 2ms
但是,子文檔根本沒有出現。
有人能指出我在這方面的正確方向嗎?
ypou應發佈您的用戶集合架構,其中包含評論和評級;對我們來說會更容易理解。 – sergiuz