我有一个这样的文档结构:
{
"_id": "...",
"shop": "pepe",
"fruits": [
{
"name": "banana",
"taste": "sweet",
},
]
}
现在我想将fruits.taste的类型更改为如下数组:"taste": ["sweet"]
所以结果应该是这样的:
{
"_id": "...",
"shop": "pepe",
"fruits": [
{
"name": "banana",
"taste": ["sweet"],
},
]
}
我尝试在mongo playground查询中这样做,但不起作用:
db.getCollection('shops')
.find()
.forEach(function(document) {
db.shops.update(
{ _id: document._id },
{ $set: { "document.fruits.$[].taste": [document.fruits.$.taste] } }
);
})
如何在数组中的对象中将值从字符串更改为字符串数组?
谢谢你的帮助!
2条答案
按热度按时间mtb9vblg1#
这里有一种方法可以做到这一点,即在
update
中使用管道。在mongoplayground.net上试试。
v2g6jxz62#
查询
$taste
,因此您需要进行管道更新fruts
上,并将taste
值放入[]
中Playmongo