我在MongoDB集合中有一堆文档,它有一个指纹,由一个序列中的8个布尔组成。我想构建一个查询,它将为我提供7到8个与我的查询类似的布尔值的文档。
所以我的查询将是以下内容:查找具有
的所有文档fingerPrint = ["true", "false", "true", "true", "true", "true", "false", "true" ]
查询将返回两个文档,因为第一个文档序列中的所有布尔值都是正确的,第二个文档序列中的8个布尔值中有7个是正确的。
{
"_id" : ObjectId("5538e75c3cea103b25ff94a3"),
"name" : "document1",
"fingerPrint" : [
"true",
"false",
"true",
"true",
"true",
"true",
"false",
"true"
]
},
{
"_id" : ObjectId("5538e75c3cea103b25ff94a4"),
"name" : "document2",
"fingerPrint" : [
"true",
"false",
"true",
"true",
"false",
"true",
"false",
"true"
]
}
我将如何做到这一点?
Alternativly:有没有更好的存储位数组的方法,并能够更优化地查询集合?