亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問 如何在MongoDB中查詢引用的對象?

請問 如何在MongoDB中查詢引用的對象?

慕斯王 2019-11-03 04:04:38
我的Mongo數據庫中有兩個集合,并且Foo包含對一個或多個Bars的引用:Foo: {   prop1: true,  prop2: true,  bars: [     {     "$ref": "Bar",     "$id": ObjectId("blahblahblah")     }  ]}Bar: {   testprop: true}我想要的是找到所有Foo至少Bar具有一個testprop設置為true的。我已經嘗試過此命令,但不會返回任何結果:db.Foo.find({ "bars.testprop" : { "$in": [ true ] } })有任何想法嗎?
查看完整描述

3 回答

?
狐的傳說

TA貢獻1804條經驗 獲得超3個贊

您現在可以在Mongo 3.2中使用 $lookup


$lookup 接受四個論點


from:在同一數據庫中指定要執行連接的集合。from集合無法分片。


localField:指定從文檔輸入到$ lookup階段的字段。$ lookup在from集合的文檔中對localField和foreignField執行相等的匹配。


foreignField:指定from集合中文檔中的字段。


as:指定要添加到輸入文檔中的新數組字段的名稱。新數組字段包含from集合中的匹配文檔。


db.Foo.aggregate(

  {$unwind: "$bars"},

  {$lookup: {

    from:"bar",

    localField: "bars",

    foreignField: "_id",

    as: "bar"


   }},

   {$match: {

    "bar.testprop": true

   }}

)



查看完整回答
反對 回復 2019-11-04
  • 3 回答
  • 0 關注
  • 767 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號