与此类似的问题: mongodb使用$in查询多个键值对
我想要查找前10个满足(first, last) >= ('John', 'Smith')
条件的全名。在MySQL中很简单:
SELECT first, last
FROM names
WHERE (first, last) >= ('John', 'Smith')
ORDER BY first, last
LIMIT 10
在MongoDB中可能类似于:
db.Names.find({ "[first, last]": { $gte: [ "John", "Smith"] }})
.sort({first: 1, last: 1})
.limit(10)
我不知道怎样写简单正确的查询语句。
这个可能会起作用,但过于冗长:
db.Names.find({ $or: [
{ first: "John", last: { $gte: "Smith" }},
{ first: { $gt: "John" }}
]}).sort(...)