フィールドの値がnullのすべてのドキュメントを返す単純な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 ['$ exists'](https://docs.mongodb.org/)手動で/参照/演算子/クエリ/存在/)ここで使用する正しいことですが、実際に "両方"空の配列だけでなく、配列でないか存在しないものを検出する特定の使用法があります。 '' poco.email.0 '':{"$ exists":false} 'であり、' 0'インデックスの位置を探します。 '真の条件として、配列は存在し、空ではないので、' false'は自然に逆になります。それが、ここで与えられた答えの1つです。 –