首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过NodeJS从MongoDB获得部分帐户

通过NodeJS从MongoDB获得部分帐户
EN

Stack Overflow用户
提问于 2014-01-20 17:45:55
回答 2查看 47关注 0票数 0

在查看Mongo Count docs时,它显示了以下代码:

代码语言:javascript
复制
    // Peform a partial account where b=1
    collection.count({b:1}, function(err, count) {

其中它计算每个包含b:1的文档。

代码语言:javascript
复制
{
    a:1,
    b:1,
    c:1
}

如何在更深入的层面上找到部分账户。例如,考虑下面的文档。如何计算每个包含"Name": "LOG-11-05-SH-O1.mp4"的文档?

代码语言:javascript
复制
   "display": {
     "0": {
       "Name": "LOG-11-05-SH-O1.mp4",
       "Type": "Startup",
       "Count": "2",
       "Detail": {
         "0": {
           "Start": "2013-01-20,11:32:22",
           "End": "2013-01-20,11:32:30" 
        },
         "1": {
           "Start": "2013-01-20,11:32:22",
           "End": "2013-01-20,11:32:30" 
        } 
      } 
    },
     "1": { ....

我知道每次"LOG-11-05-SH-O1.mp4"出现在显示屏0下时,"display.0.Name" : "LOG-11-05-SH-O1.mp4"都会计数,但有时这个数字可能会改变。例如,下一次时间日志可能显示为1。因此,有没有办法只对“"LOG-11-05-SH-O1.mp4" -11-05-SH-O1.mp4”执行计数,或者忽略中间的数字?

EN

回答 2

Stack Overflow用户

发布于 2014-01-20 21:14:23

请看我对您的问题的评论,但是如果不使用数组而不是对象来表示display的值,就没有办法做到这一点。如果它是一个数组,这就变得微不足道了。

假设您的数据如下所示:

代码语言:javascript
复制
"display": {[
  {
   "Name": "LOG-11-05-SH-O1.mp4",
   "Type": "Startup",
   "Count": "2",
   "Detail": {
     "0": {
       "Start": "2013-01-20,11:32:22",
       "End": "2013-01-20,11:32:30" 
    },
     "1": {
       "Start": "2013-01-20,11:32:22",
       "End": "2013-01-20,11:32:30" 
    } 
  } 
, { ....}
]}

那么你的查询就会是:

代码语言:javascript
复制
db.foos.count({"display": {$elemMatch: { "Name" : "LOG-11-05-SH-O1.mp4"}}})

这是$elemMatch上的相关MongoDB页面:http://docs.mongodb.org/manual/reference/operator/projection/elemMatch/

如果您必须保留对象模式,那么您可以获取所有记录并在应用程序端进行计数,而不是在MongoDB中。

如果其他人知道如何在不使用数组的情况下做到这一点,我很高兴收到反对票,然后删除不正确的答案。

票数 1
EN

Stack Overflow用户

发布于 2014-01-21 10:14:53

一开始没有意识到这一点,我觉得有点傻。答案很简单:

"display.Name": "LOG-11-05-SH-O1.mp4"

这将在display下查找具有以下名称的所有条目。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21230673

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档