做自己的任先生 2023-02-19 16:33 采纳率: 0%
浏览 8

MongoDB多层数组嵌套问题

img


MongoDB数据库,通过js再kg下添加新内容,要是没有kg就新建kg数组,我查了好几篇文章了都没有查到可用的方法。希望能朋友给一点指点。

  • 写回答

1条回答 默认 最新

  • qq_46161207 2023-02-19 17:37
    关注

    如果你想在 MongoDB 中的文档中嵌套一个多层级的数组,可以采用以下方法:

    
    db.collection.updateOne(
       { _id: ObjectId("document_id") },
       {
         $push: {
           "kg": {
             "level1": {
               "level2": {
                 "level3": {
                   "name": "value"
                 }
               }
             }
           }
         }
       }
    )
    

    以上代码中,collection是你要操作的集合名称,document_id是你要操作的文档的 _id 值,kg是你要在文档中添加的数组字段名称,level1、level2、level3是多层级的数组下标名称,name是数组元素的键名,value是数组元素的值。

    如果你要新建一个数组,可以使用 $set 操作符,例如:

    
    db.collection.updateOne(
       { _id: ObjectId("document_id") },
       {
         $set: {
           "kg": [
             {
               "level1": {
                 "level2": {
                   "level3": {
                     "name": "value"
                   }
                 }
               }
             }
           ]
         }
       }
    )
    

    以上代码中,$set 操作符用于替换一个已有字段的值,或者新建一个字段和值。在这个例子中,kg是新建的数组字段,数组中包含了多层级的对象元素。

    希望以上方法对你有所帮助。

    评论

报告相同问题?

问题事件

  • 创建了问题 2月19日

悬赏问题

  • ¥15 matlab数据降噪处理,提高数据的可信度,确保峰值信号的不损失?
  • ¥15 怎么看我在bios每次修改的日志
  • ¥15 python+mysql图书管理系统
  • ¥15 Questasim Error: (vcom-13)
  • ¥15 船舶旋回实验matlab
  • ¥30 SQL 数组,游标,递归覆盖原值
  • ¥15 为什么我的数据接收的那么慢呀有没有完整的 hal 库并 代码呀有的话能不能发我一份并且我用 printf 函数显示处理之后的数据,用 debug 就不能运行了呢
  • ¥20 gitlab 中文路径,无法下载
  • ¥15 用动态规划算法均分纸牌
  • ¥30 udp socket,bind 0.0.0.0 ,如何自动选取用户访问的服务器IP来回复数据