gpt4 book ai didi

MongoDB $set 数组中不存在对象的项目作为元素导致对象而不是数组

转载 作者:行者123 更新时间:2023-12-04 17:37:45 24 4
gpt4 key购买 nike

此处解释了更新数组内的元素:

https://docs.mongodb.com/manual/reference/operator/update/set/#set-elements-in-arrays

但是在文档中似乎缺少文档中不存在数组的情况。例子:

如果有这个文件:

{
_id: 'some-id',
otherprops: 'value'
}

我希望它变成这样:
{
// ...
settings: {
friends: [
{
name: 'John Doe',
age: 28
}
]
}
// ...
}

在这种情况下,我不知道是否已经有 settings.friends 数组。所以我的查询如下所示:
{
$set: {
'settings.friends.0.name': 'John Doe',
'settings.friends.0.age': 28
}
}

然而,该文件的结果是这样的:
{
// ...
settings: {
friends: {
0: {
name: 'John Doe',
age: 28
}
}
}
// ...
}

有没有办法强制 mongodb 在我的例子中创建一个数组而不是一个对象 但仅使用点符号。

最佳答案

try this.


{
$addToSet: {
"settings.friends": [
{
name: 'John Doe',
age: 28
}
]
}
}

关于MongoDB $set 数组中不存在对象的项目作为元素导致对象而不是数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55999996/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com