TJR*_*TJR 6 mongodb mongodb-query
这里解释了更新数组内的元素:
https://docs.mongodb.com/manual/reference/operator/update/set/#set-elements-in-arrays
但在文档中似乎缺少数组在文档中尚不存在的情况。例子:
如果有这个文件:
{
_id: 'some-id',
otherprops: 'value'
}
Run Code Online (Sandbox Code Playgroud)
我希望它变成这样:
{
// ...
settings: {
friends: [
{
name: 'John Doe',
age: 28
}
]
}
// ...
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我不知道是否已经有一个settings.friends数组。所以我的查询如下所示:
{
$set: {
'settings.friends.0.name': 'John Doe',
'settings.friends.0.age': 28
}
}
Run Code Online (Sandbox Code Playgroud)
然而文档的结果是这样的:
{
// ...
settings: {
friends: {
0: {
name: 'John Doe',
age: 28
}
}
}
// ...
}
Run Code Online (Sandbox Code Playgroud)
有没有办法强制 mongodb 在我的示例中创建一个数组而不是一个对象,但仅使用点符号。
尝试这个。
{
$addToSet: {
"settings.friends": [
{
name: 'John Doe',
age: 28
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
863 次 |
| 最近记录: |