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 で and & or を組み合わせることは可能ですか?

4

1 に答える 1

6

はい、それらを組み合わせることができます。あなたはできるはずです:

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