https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-sdk-api/database/aggregate/Aggregate.match.html
文档最后那行实际输出的结果是7,而不是3,说明aggregate match时使用操作符_.gt是无效的,等同没有此条件,实际返回所有数据。
{ "_id" : "1", "author" : "stark", "score" : 80 }
{ "_id" : "2", "author" : "stark", "score" : 85 }
{ "_id" : "3", "author" : "bob", "score" : 60 }
{ "_id" : "4", "author" : "li", "score" : 55 }
{ "_id" : "5", "author" : "jimmy", "score" : 60 }
{ "_id" : "6", "author" : "li", "score" : 94 }
{ "_id" : "7", "author" : "justan", "score" : 95 }
|
const db = wx.cloud.database()
const _ = db.command
const $ = _.aggregate
db.collection('article')
.aggregate()
.match({
score: _.gt(80)
})
.group({
_id: null,
count: $.sum(1)
})
.end()
|
预期结果:
{ "_id" : null, "count" : 3 }
|
实际结果:
{ "_id" : null, "count" : 7 }
|
我猜你的表里,score是string不是number