精确匹配子文档很容易,但是有没有办法精确匹配集合中的整个文档?
我有很多数据相似的文档,我只需要完全匹配,不需要额外的数据
使用负 $exists 对我不起作用,因为我事先不知道所有可能的字段。
最佳答案
我不认为这是完全可能的,但一个可能的解决方案是对文档进行哈希处理。
保存时,始终创建文档的哈希值:
var doc = {};
delete doc.hash; // never include the hash itself in the calculation
doc.hash = crypto.createHash('sha256').update(JSON.stringify(doc)).digest();
db.collection.insert(doc);
然后查询的时候,可以通过hash查询:
db.collection.find({
hash: hash
})
如果您经常对文档进行原子更新,可能会很烦人。
关于mongodb - 如何精确匹配整个文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27993275/