mongodb $unwind 聚合管道
生活随笔
收集整理的這篇文章主要介紹了
mongodb $unwind 聚合管道
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
$unwind:將文檔中的某一個數組類型字段拆分成多條,每條包含數組中的一個值。
需求:
對weekday進行拆分:
db.getCollection('chenxiaochantest').aggregate([{$unwind:"$weekday"}] )拆分結果:
/* 1 */ {"_id" : ObjectId("5951c5de567ebff0d5011fba"),"name" : "陳曉嬋","address" : "北京朝陽區","weekday" : 1 }/* 2 */ {"_id" : ObjectId("5951c5de567ebff0d5011fba"),"name" : "陳曉嬋","address" : "北京朝陽區","weekday" : 2 }/* 3 */ {"_id" : ObjectId("5951c5de567ebff0d5011fba"),"name" : "陳曉嬋","address" : "北京朝陽區","weekday" : 3 }/* 4 */ {"_id" : ObjectId("5951c5de567ebff0d5011fba"),"name" : "陳曉嬋","address" : "北京朝陽區","weekday" : 4 }/* 5 */ {"_id" : ObjectId("5951c5de567ebff0d5011fba"),"name" : "陳曉嬋","address" : "北京朝陽區","weekday" : 5 }使用$unwind可以將weekday中的每個數據都被分解成一個文檔,并且除了weekday的值不同外,其他的值都是相同的.
實例講解:
{"_id" : ObjectId("5951ca15567ebff0d5011fbb"),"name" : "陳曉嬋","address" : "北京朝陽","lunch" : [ {"food" : "baozi","fruit" : "taozi"}, {"food" : "miaotiao","fruit" : "xigua"}] }對lunch進行拆分:
db.getCollection('chenxiaochantest2').aggregate([{$unwind:"$lunch"}] )拆封結果:
/* 1 */ {"_id" : ObjectId("5951ca15567ebff0d5011fbb"),"name" : "陳曉嬋","address" : "北京朝陽","lunch" : {"food" : "baozi","fruit" : "taozi"} }/* 2 */ {"_id" : ObjectId("5951ca15567ebff0d5011fbb"),"name" : "陳曉嬋","address" : "北京朝陽","lunch" : {"food" : "miaotiao","fruit" : "xigua"} }轉載來源:https://blog.csdn.net/chenxiaochan/article/details/73771879
總結
以上是生活随笔為你收集整理的mongodb $unwind 聚合管道的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Mixgo CE初体验
- 下一篇: BZOJ1085: [SCOI2005]