我想寫一個簡單的Mongo查詢來返回字段的值爲空的所有文檔(或者是一個空數組,我不是確定你稱之爲)。如何查找字段的值爲空或空的所有文檔
這是我的查詢;
db.getCollection('contact').find({'poco.name.email':false})
下面是使用RoboMongo我收藏的截圖;
最後,我需要這個轉移到一些PHP。到目前爲止,我有這個工作;
$conditions = array_merge($conditions, [
'owner.$id' => $this->getId(),
'poco.name.familyName' => "Smith",
//not sure what goes here.. something like
//'poco.emails' => null,
]);
return Model_Mongo_Contact::getContacts($conditions, $sort, $fields, $limit, $skip);
這可能會是不困難的方法,更獲得回答..或者,也許不是我是很新的蒙戈它可能是真的很明顯。
本文檔應該是有幫助的:https://docs.mongodb.org/manual/reference/operator/query/exists/ – Rajesh
@Rajesh雖然['存在'](https://docs.mongodb.org/手動/引用/運算符/查詢/存在/)是在這裏使用的正確的東西,有一個具體的用法,它將實際檢測「既」一個空的數組以及任何不是數組或不存在。成爲'「poco.email.0」:{「$ exists」:false}',你在那裏尋找'0'索引位置。作爲一個「真實」的條件,數組存在並且「不空」,所以'false'自然反過來。這就是這裏給出的一個答案。 –