0
假設我有一個mongodb集合A和B. 雖然A有一個B的外鍵叫做b_id。mongodb中的關係條件
我怎樣做MongoDB中(甚至紅寶石越好)以下查詢:
select * from A where b_id not in (select id from B where <some_condition>);
假設我有一個mongodb集合A和B. 雖然A有一個B的外鍵叫做b_id。mongodb中的關係條件
我怎樣做MongoDB中(甚至紅寶石越好)以下查詢:
select * from A where b_id not in (select id from B where <some_condition>);
的MongoDB沒有做關係查詢(它不是所謂的NoSQL 不原因) - 但有是其他方式,你可以做到這一點。
在蒙戈客戶端運行的兩步查詢,第一獲取內部陣列,然後使用$nin operator:
變種IDS = db.B.find(條件); db.A.find({b_id:{$ nin:ids}});
如果您仍處於設計階段,您可以考慮爲您的模式使用嵌套文檔。例如,如果乙有許多甲,則可以添加的甲陣列以每乙作爲屬性。 (請記住,雖然,有一個limit to document size in MongoDB,所以這不是一個很好的解決方案,如果在任何給定的乙一個數量可能會非常大。)
謝謝。我不能嵌入它應該保持獨立的對象。但我會嘗試第一個選項。 –