MongoDB:找到一个所有字段和值(除了_id)都等于给定文档的文档?

MongoDB:找到一个所有字段和值(除了_id)都等于给定文档的文档?,mongodb,filter,find,field,database,Mongodb,Filter,Find,Field,Database,有没有办法搜索所有字段和值(除了_id)都包含在给定文档字段中的文档 例如: {_id:..., "field1" : 2 , "field2" : 3} {_id:..., "field1" : 2 , "field2" : 4} {_id:..., "field1" : 2 , "field3" : 1} 要放置在查询中的文档: {"field1" : 2 , "field2" : 4, "field3" : 1} 预期结果: {_id:..., "field1" : 2 , "fiel

有没有办法搜索所有字段和值(除了_id)都包含在给定文档字段中的文档

例如:

{_id:..., "field1" : 2 , "field2" : 3}
{_id:..., "field1" : 2 , "field2" : 4}
{_id:..., "field1" : 2 , "field3" : 1}
要放置在查询中的文档:

{"field1" : 2 , "field2" : 4, "field3" : 1}
预期结果:

{_id:..., "field1" : 2 , "field2" : 4}
{_id:..., "field1" : 2 , "field3" : 1}
试试这个:

db.numbers.find({ $or: [ {"field1" : 2 , "field2" : 4}, {"field1" : 2 , "field3" : 1} ]})

我想你需要的是:

db.yourdb.find({$and : [ {$or : [{"field1" :2}, {"field1" : {$exists : false}}]},  {$or : [{"field2" :4}, {"field2": {$exists : false}}]},{$or : [{"field3" :q}, {"field3": {$exists : false}}]}]})