我们在sql中我们经常有这样的写法

select * from table1 where table1.field1 = table1.field2

查询数据库中,field1字段和field2字段相同的记录。那这种查询方式在mongo中怎么查呢:
方式1:

db.test.aggregate([
    {
        $project:{
            fields1: 1,
            fields2: 1,
            difference: { $eq: ["$fields1", "$fields2"]}
        },
    },
    {
        $match: {
            difference: true
        },
    },
    { $limit:10 }

方式2:

db.test.find({
    "$where": "this.fields1 == this.fields2"
}).limit(10);
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐