【问题标题】:MongoDB: How do I find number of items in embedded document?MongoDB:如何查找嵌入文档中的项目数?
【发布时间】:2012-07-20 05:14:15
【问题描述】:

我的架构看起来像

name:
value:
p_vars: {
    name1: {},
    name2: {},
}

我想计算p_vars 中有多少项目。

以为解释器是JavaScript,我试了

db.collection.findOne().p_vars.length

但没有任何回报

答案应该是

考虑到上述情况,答案应该是 2(name1name2 两项)

【问题讨论】:

  • p_vars 是一个对象。对象在 javascript 中没有长度。为什么你期望这会起作用?
  • 我想知道 p_vars 中有多少项目,例如 name1 + name2 + ... 的计数。
  • 因为这是一个javascript对象,也许这个问题有帮助:stackoverflow.com/questions/956719/…

标签: javascript mongodb


【解决方案1】:

这里最简单的解决方案是更改您的架构以使用 p_vars 数组,这听起来像是您想要的。如果相反,架构是:

name:
value:
p_vars: [
    name1: {},
    name2: {},
]

然后db.collection.findOne().p_vars.length 命令会如您所愿返回 2。

使用原始架构,我认为您唯一的选择是编写一个 JS 函数来手动迭代和计算元素。

【讨论】:

    猜你喜欢
    • 2018-09-24
    • 1970-01-01
    • 2017-04-10
    • 2019-02-16
    • 2023-03-22
    • 2016-07-01
    • 2015-07-14
    • 2018-09-04
    • 2021-03-24
    相关资源
    最近更新 更多