为什么mongodb聚合$ match不返回预期结果?

时间:2019-03-01 15:15:44

标签: node.js mongodb

我正在建立一个聚合管道。以下内容可以单独或一起运行产生预期结果:

let products = await Product.aggregate([
  { '$match': { brand: [Object] } },
  { '$match': { '$expr': [Object] } } ])

即使集合中有符合条件的数据,以下$ match语句也不会产生数据。

let products = await Product.aggregate([ { '$match': { rating: 4 } } ])

从集合中采样数据:

{ _id: 5a295aef734d1d69e07ee6dd, rating: '4'},
{ _id: 5a296199734d1d69e07eec27, rating: '4'}

1 个答案:

答案 0 :(得分:1)

不匹配的数据类型..您正在发送一个整数,但数据库中存储的是一个字符串..只需添加引号:)