【问题标题】:MongoDB Compass aggregations $match filter returns nullMongoDB Compass 聚合 $match 过滤器返回 null
【发布时间】:2019-07-24 12:47:30
【问题描述】:

我在 mongodb 中有一个集合,它的大小是 570 万。 但我对 $match 过滤器有疑问。 我正在尝试使用此命令进行 查询

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

返回 10k 个文档。

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

我的示例文档;

{
"_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 文档)

【问题讨论】:

  • 您能否edit 您的问题包括您的实际查询和重现问题的示例文档?
  • @JohnnyHK 我添加了详细信息。谢谢。

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


【解决方案1】:

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

{ "_id":"5c1a231f1923047866f3ffb0", “没有”:“20”, "id":"007", “类型”:“真实”, "type":"noInternet", "dealersTitle":"约翰", “昨天总”:“65.52”, “万事达卡号”:“0”, "mastercard_total":"0", “万事达卡余额”:“0”, "rfCard_number":"6", "rfCart_total":"65", "rfBalance_number":"0", "rfBalance_total":"0", "todayBalance":"0.52", "balanceRfTotal":"0", “日期”:“2019-07-16” }

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

“日期”:{“$日期”:“2019-07-16”}

【讨论】:

    猜你喜欢
    • 2021-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-23
    • 1970-01-01
    • 1970-01-01
    • 2019-11-24
    • 1970-01-01
    相关资源
    最近更新 更多