s***@qq.com
s***@qq.com
  • 发布:2020-12-11 11:16
  • 更新:2020-12-11 12:47
  • 阅读:1102

unicloud 怎么查询两个字段对比后的集合

分类:uniCloud

我想查询所有a>b的集合:

[{  
 "_id": 1  
 "test": {  
   a: Number,  
   b: Number,  
 },  
{  
 "_id": 2   
 "test": {  
   a: Number,  
   b: Number,  
 }  
]

这么写似乎不生效,返回结果始终为空数组,why??

const db = uniCloud.database();   
const dbCmd = db.command;  
const testCollection = db.collection("test");  
await testCollection.where({  
        "test.a": dbCmd.gt("$test.b")  
}).limit(10).get()
2020-12-11 11:16 负责人:无 分享
已邀请:

最佳回复

1***@qq.com

1***@qq.com

const db = uniCloud.database();       
const dbCmd = db.command;    
const $ = db.command.aggregate;    
await db.collection("test")  
.where(  
dbCmd.expr($.gt(['$test.a', '$test.b']))  
)  
.limit(10)  
.get()

这样应该就可以了,不用聚合操作

1***@qq.com

1***@qq.com

const db = uniCloud.database();     
const dbCmd = db.command;  
const $ = db.command.aggregate;  
await db.collection("test")  
.aggregate()  
.match(  
    dbCmd.expr($.gt(['$test.a', '$test.b']))  
)  
.limit(10)  
.end()

该问题目前已经被锁定, 无法添加新回复