MongoDB $和$或查询不返回任何结果

时间:2014-08-20 15:11:27

标签: mongodb

我在MongoDB上运行一个查询,该查询应该占用时间范围内的任何内容,然后如果它在每个指定的机器上找到端口,它也会返回该查询。我知道数据存在,但出于某种原因,它没有被退回。我有一种感觉,我正在为我不打算做的查询做些什么。任何帮助表示赞赏。

使用Mongo 2.6.3

查询:

{
  "$and":[
            {
              "time":{"$lt":"2014-08-20T14:53:12.425Z","$gt":"2014-08-20T14:50:12.425Z"}
            }
           ,
            {
             "$or":  [
                        {
                          "uid":"h118177apss3701","content.data.port":{"$in":["22","9101"]}
                        }, 
                        { 
                          "uid":"h118177dcss3701","content.data.port":{"$in":["22"]}
                        }
                    ]
            }
          ]

}

1 个答案:

答案 0 :(得分:1)

对于日期,您应该使用ISODate,即:

        {
          "time":{
                  "$lt":ISODate("2014-08-20T14:53:12.425Z"),
                  "$gt":ISODate("2014-08-20T14:50:12.425Z")
          }
        }