MongoDB Compass聚合$ match过滤器返回null

时间:2019-07-24 12:47:30

标签: node.js mongodb mongodb-query mongodb-compass

我在mongodb中有收藏,它的大小为570万。 但是我有$ match过滤器的问题。 我正在尝试使用以下命令进行查询

{ date:{ $gte: "2019-07-16", $lte: "2019-07-16" } }

返回1万个文档。

但是我正在尝试使用相同的命令 $ match聚合,它什么也不返回。

我的样本文档;

{
"_id":"5c1a231f1923047866f3ffb0",
"no":"20",
"id":"007",
"Typee":"Real",
"type":"noInternet",
"dealersTitle":"John",
"yesterday_total":"65.52",
"mastercard_number":"0",
"mastercard_total":"0",
"mastercard_balance":"0",
"rfCard_number":"6",
"rfCart_total":"65",
"rfBalance_number":"0",
"rfBalance_total":"0",
"todayBalance":"0.52",
"balanceRfTotal":"0",
"date":"2019-07-16"
}

我不明白问题出在哪里。

已编辑: 当我尝试在终端上聚合时,它将返回结果。为什么Mongo Compass在“聚合”选项卡中看不到我的收藏集。 (收藏集中的N / A个文件)

1 个答案:

答案 0 :(得分:0)

示例文档显示您的日期属性保存为字符串而不是日期。

{ "_id":"5c1a231f1923047866f3ffb0", "否":"20", "id":"007", "Typee":"真实", "type":"noInternet", "dealersTitle":"约翰", "yesterday_total":"65.52", "mastercard_number":"0", "mastercard_total":"0", "mastercard_balance":"0", "rfCard_number":"6", "rfCart_total":"65", "rfBalance_number":"0", "rfBalance_total":"0", "今日余额":"0.52", "balanceRfTotal":"0", "日期":"2019-07-16" }

如果您使用数据类型作为日期,您可以轻松比较日期。

"date": {"$date":"2019-07-16"}