[英]mongodb - ignore document if one of elements in array matches query
[英]MongoDB Array Query to return documents that matches Most elements in array
要求查询mongodb的方式是按排序顺序返回文档,其中大多数元素首先在Array中匹配。 范例:
Doc1 : {_id:1,fruits:['apple','orange','banana']}
Doc2 :{_id:1,fruits:['grapes','apple','strawberry']}
如果我在集合中搜索水果:['apple','orange'],则应返回Doc1。 请帮助形成相同的查询。
根据上述问题的描述,请尝试在MongoDB shell中执行以下查询。
db.collection.find{fruits:{$all:['apple','orange']}}
在上面的查询中,$ all运算符获取文档,其中数组字段值与指定数组过滤器中包含的所有值匹配
您将必须使用评分技术来匹配最合适的数组。 在Mongo方面,请使用全文本搜索。 以下链接(重复/类似要求)中提供了该解决方案: MongoDB比较数组 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.