【发布时间】:2022-01-02 11:52:50
【问题描述】:
这是我的 mongo 集合的示例:
{
"data": {
"categories": [
{
"categoryName":"Nature",
"urls": [
{
"name":"mountain",
"url":"mountain-url"
}
]
},
{
"categoryName":"Animals"
"urls": [
{
"name":"lion",
"url":"lion-url"
}
]
}
]
}
}
我想将一个对象推送到 Nature 类别的 urls 数组中。 我试过这个:
collection.updateOne({"categories.$.categoryName":"Nature"},{$push:{"categories.$.urls":object}},(err, result) => {
if (err) throw err;
console.log('Successful');
});
它返回“成功”,但 MongoDB 中没有任何变化。 我该怎么做?
【问题讨论】:
-
尝试从查询部分中删除 $
{ "categories.categoryName": "Nature" } -
我试过了,但没用。 @turivishal
-
尝试将您的查询包装在异步函数中,并在查询
await collection.updateOne之前放置等待,如果您已经使用过,请提供更多调试细节。