MongoDB中的嵌入式数组插入

Posted

技术标签:

【中文标题】MongoDB中的嵌入式数组插入【英文标题】:Embedded array insert in MongoDB 【发布时间】:2022-01-17 04:39:49 【问题描述】:

出于练习目的,我已将 3 个用户插入到我的数据库中。

JSON 代码:

[
    
    "f_name": "Raf", 
    "l_name":"Bak", 
    "age": 19, 
    ,
    
    "f_name":"miltos",
    "l_name":"Bak", 
    "age": 56,
    ,
    
    "f_name":"eleni",
    "l_name":"kot", 
    "age": 27,
    
]

我想为每个用户插入一个历史数组,并在该数组中插入另一个数组。我使用以下 JSON 代码,但出现错误。

db.patientdata.insertOne(f_name:"Raf",$set: history:["desease":"fever","treatment":"ponstan"])

我是否也必须“$set”第二个数组?

提前谢谢你。

在进一步干预后编辑:

我也厌倦了下面的 JSON 代码:

db.patientdata.updateOne(f_name:"Raf",$set: "history":["desease","treatment"])
db.patientdata.updateOne(f_name:"Raf",$set: "desease":["fever"])
db.patientdata.updateOne(f_name:"Raf",$set: "treatment":["ponstan"])

但我在第一个数组中没有第二个嵌入式数组:

【问题讨论】:

为什么不这样呢? db.patientdata.updateOne(f_name:"Raf",$set: history:[disease:"doesn't know good programming",treatment: "study more"])我觉得没问题,如果你想更新现有的 好的,谢谢塔基斯 【参考方案1】:

我从一开始就插入了一个新用户,它工作正常。

JSON 代码:

db.patientdata.insert(f_name:"George",l_name:"Bak","age":29, history:[disease:"doesn't know good programming",treatment: "study more"])

【讨论】:

您能否edit 使用 Markdown 将 JSON 作为文本和格式包含在内,而不是将其粘贴为图像?谢谢。

以上是关于MongoDB中的嵌入式数组插入的主要内容,如果未能解决你的问题,请参考以下文章

如何在 MongoDB 的嵌入式数组对象中插入 json 对象?

过滤 MongoDB 中的嵌入式数组

过滤和更新 mongodb mongoose 中的嵌入式数组

如何匹配 MongoDB 中嵌入式数组或文档中的字符串?

MongoDB(12)- 查询嵌入文档的数组

使用 MongoDB 中的文档属性过滤器获取嵌入数组中的扁平文档数组