MongoDB:仅查询特定子文档的问题

时间:2014-11-09 08:25:45

标签: node.js mongodb

我是MongoDB的新手(和stackoverflow) - 我一直在尝试使用Mongo + Node.js构建实时分析。

我在http://docs.mongodb.org/ecosystem/use-cases/pre-aggregated-reports/的示例之后创建了一个文档结构,但现在我无法仅使用给定的DateTime查询“second”值 - 我认为整个文档都被返回,因为那里只是一个父对象。我的结构看起来像这样,集合中只有一个文档:

“小时” - > “分钟” - > “第二个”:价值

doc:{
    "0": {
        "0": {
            "0": 0,
            "1": 0,
            "2": 0,
            "3": 0...
             }
         }    
}

我一直在研究聚合$ unwind和$(投影),我创建了一个像“12.22.59”(“hh.mm.ss”)的字符串,但我不知道从哪里开始。

我很感激任何帮助!

谢谢, 凯文

1 个答案:

答案 0 :(得分:0)

MongoDB中的查询始终匹配具有匹配字段的整个文档,无论这些字段是数组,嵌入在子文档中等等。您始终查询整个文档,但是您可以使用project仅返回匹配文件的一部分。要从嵌套结构中返回第二个值(当我解释这意味着什么时),你会做

db.collection.find({ // your query }, { "_id" : 0, "0.0.1" : 1 })

我不是百分百肯定这就是你要找的东西。如果没有,您是否可以编辑问题以准确确定您想要返回的内容,并通过评论告诉我这是不对的?