我有以下结构的文件:应用条件的多个文件对同一领域的MongoDB
user {id: 123, tag:"tag1"}
user {id: 123, tag:"tag2"}
user {id: 123, tag:"tag3"}
user {id: 456, tag:"tag1"}
鉴于用户ID,我想找到如果该用户已经记录了所有3个标签(操作数) 。 如果用户对“标签1”和“与Tag2”与“标签3”的记录,然后返回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的东西simular?
做这些查询需要有多快呢?您可以使用聚合框架按ID分组标签,然后匹配所需条件。 – 2012-12-11 06:36:44