次の構造のドキュメントがあります。
user {id: 123, tag:"tag1"}
user {id: 123, tag:"tag2"}
user {id: 123, tag:"tag3"}
user {id: 456, tag:"tag1"}
指定されたユーザー ID から、このユーザーに 3 つのタグすべて (AND オペランド) を持つレコードがあるかどうかを調べたいと考えています。ユーザーが「tag1」および「Tag2」および「tag3」のレコードを持っている場合、true を返します
同等の SQL は次のようになります。
SELECT * FROM users WHERE
EXISTS (SELECT * FROM tags WHERE user_id = users.id AND name ='tag1') AND
EXISTS (SELECT * FROM tags WHERE user_id = users.id AND name ='tag2') AND
user_id=123
MongoDB で似たようなものを表現するにはどうすればよいですか?