2
findOne()
:
如果多个文档满足所述查询,该方法返回根据反映的磁盘上的文件的顺序的自然顺序的第一个文档。
我需要一个类似于上面的效果,除非多个文档满足查询,它会返回最早出现在$或数组中的那个。
db.collection.findOne({
$or: [
{"apple": "blah"},
{"orange": "blah"},
{"grape": "blah"}
]
})
例如,如果这些文件都满足上述查询
[
{"apple": "....", "orange": "....", "grape": "blah"},
{"apple": "....", "orange": "blah", "grape": "...."}
]
它只返回匹配orange
(第二个以上)的文件中,因为orange
来在$或阵列grape
之前。同样,如果一个文档匹配apple
那么该文档将被返回,因为apple
在数组中较早出现。如何才能做到这一点?