3

此 SQL 查询:

SELECT name
FROM user 
WHERE user.provider = "google" or user.email="email@example.com"

有等效的mongodb查询:

db.user.find({
    "$or": [{
        "user.provider": "google"
    }, {
        "user.email": "email@example.com"
    }]
}, {
    "name": 1
});

这个怎么样?

SELECT name
FROM user 
WHERE (user.provider = "google" and user.id="1") or user.email="email@example.com"

上面的 SQL 对 mongo 的等价物是什么?是否可以在 mongo 中结合和 & 或?

4

1 回答 1

6

是的,您可以将它们结合起来。你应该能够做到:

"$or":[
  {"$and": [{"user.provider": "google"}, {"user.id": "1"}] },
  { "user.email" : "email@example.com" }
]
于 2013-06-27T03:52:31.367 回答