【发布时间】:2020-01-10 05:49:40
【问题描述】:
我有一个现有的 MongoDB 文档,其中包含字段 files(以及其他字段)。 files 字段是一个对象,现在我想用几个嵌套文档更新这个字段。我已成功插入一个嵌套文档,语法如下:
db.collection.updateOne(
{ "id": 1 },
{
$set: {
"files":
{
"filename1": {
"a": "Lorem ipsum dolor",
"b": "Sit amet consectetur",
"c": "Adipiscing elit"
}
}
}
})
接下来,我尝试在 file 字段中同时插入另外 2 个文档,但失败了
db.collection.updateOne(
{ "id": 1 },
{
$set: {
"files":
{
"filename2": {
"d": "Lorem ipsum dolor",
"e": "Sit amet consectetur",
"f": "Adipiscing elit"
}
}
{
"filename3": {
"g": "Duis aute irure",
"h": "Labore et dolore",
"i": "Eiusmod tempor incididunt"
}
}
}})
这不起作用后,我尝试使用第一个代码块逐个插入记录,但插入filename2(我不想覆盖现有的filename1)。此文档已插入到 files 对象中,但覆盖了现有文档 filename1。我尝试了几种不同的变体,但没有任何效果。
任何有关如何在一个字段中嵌套多个文档的反馈/帮助都会有所帮助。
【问题讨论】:
-
您的第二个查询有语法问题,请查看下面的答案。
标签: mongodb mongodb-query nested-documents