MongoDB:查询具有两个相等字段 $match 和 $eq

编程入门 行业动态 更新时间:2024-10-03 19:23:00

MongoDB:查询具有两个相等<a href=https://www.elefans.com/category/jswz/34/1771443.html style=字段 $match 和 $eq"/>

MongoDB:查询具有两个相等字段 $match 和 $eq

如果我想要 document.a == document.b,返回集合中所有文档的最佳方法是什么?

我试过了

db.collection.aggregate([ { $match: { $eq: [ '$a', '$b' ] } }])

但它返回时没有错误或结果,因为我假设它实际上是匹配字符串“$a”和“$b”。有没有不同的方法来指定这些字段?

db.collection.aggregate([    { $project: { 
    eq: { $cond: [ { $eq: [ '$a', '$b' ] }, 1, 0 ] } 
} },
{ $match: { eq: 1 } }])

上面的方法有效,但需要额外的步骤来再次查询它找到的任何文档或投影所有可能的字段。

有没有更好的方法来实现这个查询?

回答如下:

如果我理解你的问题,你想要那些在 field1 和 field2 中具有相同值的文档。

这次尝试

db.coll.find({$where: function() { return this.field1 == this.field2 } } );

或更紧凑

db.coll.find({ $where : "this.field1 == this.field2" } );

更多推荐

MongoDB:查询具有两个相等字段 $match 和 $eq

本文发布于:2024-05-31 02:41:04,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1771187.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:字段   两个   MongoDB   match   eq

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!