mongodb单层组嵌套

并没找到为什么不能直接插入,这个能用,就这样吧 ...

user:

{

     "_id" :ObjectId("57e89964b316d2e13cc0ba9b"),

     "username" :"marky@123.com",

     "nickname" : "marky",

     "address" : "云端路1024号,柯南私募基金大厦",

     "contact" :"13141250012",

     "created" :"2012-07-07"

}

 

order:

{

     "_id" :ObjectId("57e89b3ab316d2e13cc0ba9c"),

     "orderno" : "YD000001",

     "title" : "席梦思抱枕一对",

     "oriprice" : 80,

     "discount" : "0.70",

     "saleprice" : "56.00",

     "type" : "居家",

     "coupon" : 0

}

{

     "_id" :ObjectId("57e89bcfb316d2e13cc0ba9d"),

     "orderno" : "YD000002",

     "title" : "席梦思抱软硬适中床垫",

     "oriprice" : 280,

     "discount" : "0.80",

     "saleprice" : "224.00",

     "type" : "居家",

     "coupon" : 0

}


操作

>db.user.update({'orders':{$exists:false}},{$set:{'orders':[{'_id' :ObjectId("57e89b3ab316d2e13cc0ba9c"),'orderno':'YD000001','title':'席梦思抱枕一对','oriprice':80,'discount':0.70,'saleprice':56.00,'type':'居家','coupon':0}]}})

 

上面语句的意识是如果原文档中不存在orders字段,那么新增该字段,并添加对应的内容,结果显示如下则说明嵌入成功,如下:

{

     "_id" :ObjectId("57e89964b316d2e13cc0ba9b"),

     "username" :"marky@123.com",

     "nickname" : "marky",

     "address" : "云端路1024号,柯南私募基金大厦",

     "contact" :"13141250012",

     "created" :"2012-07-07",

     "orders" : [

         {

              "_id" :ObjectId("57e89b3ab316d2e13cc0ba9c"),

              "orderno" :"YD000001",

              "title" : "席梦思抱枕一对",

              "oriprice" : 80,

              "discount" : 0.7,

              "saleprice" : 56,

              "type" : "居家",

              "coupon" : 0

         }

     ]

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MongoDB中删除嵌套文档可以使用$pull操作符。具体操作如下:db.集合名称.update( {"results._id":ObjectId("5cd01dfc5d157b5d9bc27597")}, {$pull:{results.$.relation_kpi_draft:{_id:ObjectId("5cd01dfc5d157b5d9bc2750d")}}})。这个操作会在results._id为"5cd01dfc5d157b5d9bc27597"的文档中的relation_kpi_draft数组中删除_id为"5cd01dfc5d157b5d9bc2750d"的文档。如果需要删除多个文档,可以使用$in操作符。\[3\] #### 引用[.reference_title] - *1* [MongoDB操作内嵌文档](https://blog.csdn.net/qq_45948222/article/details/119708960)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [mongodb 内嵌文档 增删改查](https://blog.csdn.net/m0_67918035/article/details/129383897)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [使用mongodb增删改查深层嵌套文档](https://blog.csdn.net/qq_42427109/article/details/90635466)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值