比较同一文档的两个字段

阿伦

我正在尝试查询一个巨大的mongo集合,该集合具有大约50 +百万条记录。在mongo查询中,我只需要几个字段。文档中存在的对象ID和MD5。为此,我做了

查询:

db.getCollection('experimental_engine').find({},{"md5":1,"_id":1}) 

结果:

/* 1 */
{
    "_id" : "5cee41f2ca4e0ebf567ffd1be5cdaf1f",
    "md5" : "1d813cb29082b13efe572e8088f006dd"
}

/* 2 */
{
    "_id" : "fcd79aac0d5c5ebdfd0fa389368ab6f3",
    "md5" : "13a1a6cd5c8f1c5eaf3d409f4d809889"
}


/* 3 */
{
    "_id" : "2a0b42d01892bd9b7368d045a4c7862c",
    "md5" : "2a0b42d01892bd9b7368d045a4c7862c"
}


................

现在,我想同时匹配“ _id”和“ md5”并仅获取匹配的值(_id = md5)。

mongo命令是否支持两个键的匹配值?

有什么建议吗?

阿什

您可以使用$expr允许在查询语言中使用聚合表达式。

db.collection.find({ "$expr": { "$eq": [ "$_id" , "$md5" ] } })

或聚合

db.collection.aggregate([
  { "$match": { "$expr": { "$eq": [ "$_id" , "$md5" ] } } }
])

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

MongoDb在Java中比较同一集合中的两个字段

在猫鼬模式中创建一个字段,该字段引用同一文档中的其他字段

Extbase查询以比较同一表中的两个字段

MongoDB对同一文档中的多个字段进行分组和计算结果

使用字段值更新同一文档中的另一个字段

是否可以使用Linq在同一IEnumerable中比较两个字段?

如何在mongo中匹配来自同一文档的字段值?

同一文档中的不同内容

从MongoDB中的同一数组返回包含两个字段的文档

比较同一文档Firestore

在Firestore交易中更新同一文档的多个字段时的定价

mongodb-同一文档的两个依赖聚合

如何在Mongodb中通过仲裁计算同一文档中两个数组的元素频率

如何根据两个字段值导出唯一文档?

如何在同一文档下检索Firebase Firestore多个字段数据到RecyclerView

如何在mongo中检查同一文档中的两个值?

在每个文档中添加一个新字段,并在mongodb中为同一文档的另一个字段赋值

在多个网站中引用同一文档

同一文档中3个字段的平均值

使用聚合将文档的一个字段与同一文档的数组大小进行匹配

$ _POST与表单在同一文档上

同一文档中的img src = svg

MongoDB:更新同一文档的嵌套元素中的字段

比较同一文档中的两个数组字段

比较所有行的不在同一列中的两个字段

如何在 ElasticSearch 中比较同一文档中的两个字段?

在 Firestore 中更新同一文档的 10 个不同字段。顺序重要吗?

使用同一文档中的字段减少 mongodb 中的字段

如何将特定字段的值分配给 Firestore Swift 中同一文档内的另一个字段?