【问题标题】:How to find $count in mongoose for same group?如何在同一组的猫鼬中找到 $count?
【发布时间】:2020-04-11 16:11:53
【问题描述】:

如何在 mongoose 中检索同一组的数量和价格计数

db.inventory.find( { $or: [ { quantity: { $lt: 20 } }, { price: 10 } ] } )

【问题讨论】:

  • 欢迎来到 SO。需要更多说明您要达到的目标吗?什么是同组??
  • 哪种格式???
  • 我正在尝试检索同一组的两个匹配条件的计数
  • 请在json编辑器在线分享输入数据和输出
  • 显示您迄今为止尝试过的模型和完整查询。不要在评论部分添加您的代码。您可以随时编辑问题,因此请使用您的模型和查询编辑问题。

标签: javascript node.js angular mongodb mongoose


【解决方案1】:

您可以尝试使用 $facet 在单个查询中获取多个组的计数。检查以下查询是否有助于您的要求。

db.inventory.aggregate([
{ "$facet": {
"quantity": [
{ "$match" : { "quantity": { "$lt": 20 }}},
{ "$count": "Total" },
],
"price": [
{ "$match" : {"price": { "$eq": 10 }}},
{ "$count": "Released" }
]
}},
{ "$project": {
"quantity": { "$arrayElemAt": ["$quantity.Total", 0] },
"price": { "$arrayElemAt": ["$price.Released", 0] }
}}
])

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-16
    • 2016-06-03
    • 2014-01-14
    • 2019-03-28
    • 2019-10-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多