【问题标题】:MongoDB: query Array for 'true' value at index nMongoDB:查询数组以获取索引 n 处的“真”值
【发布时间】:2015-01-11 01:00:27
【问题描述】:

所以我有这个集合,其中包含一个字段“weekdays”,表示周一至周日的工作日(选中或未选中):

  var collection = [

    // work week (Monday to Friday)
    {
      weekdays: [true, true, true, true, true, false, false]
    },

    // weekend
    {
      weekdays: [false, false, false, false, false, true, true]
    },

    // ...

  ];

现在,我如何查询此集合以查找指定工作日内具有true 的所有项目?

我的第一次尝试是使用这样的东西:

// $elemMatch...

'weekdays[0]': true // Monday

但它似乎不起作用。我没有想法 atm,不胜感激!

【问题讨论】:

  • 在实际询问“真实”时,不要声称询问“真实”——它们是不同的东西!
  • @ErwinWessels 是的,我谦虚的道歉。

标签: javascript mongodb


【解决方案1】:

您可以使用此代码

db.collectin.find({'weekdays.0' : true})

如果你想检查 2 天:

db.collectin.find({$and : 
    [
        {'weekdays.0' : true},
        {'weekdays.1' : true}
    ]
})

【讨论】:

    猜你喜欢
    • 2023-03-09
    • 1970-01-01
    • 2018-08-14
    • 2020-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-11
    • 2017-02-15
    相关资源
    最近更新 更多