【问题标题】:Finding document based on incomplete dictionary in pymongo/MongoDBpymongo/MongoDB中基于不完整字典查找文档
【发布时间】:2013-04-10 14:08:05
【问题描述】:

我将时间存储为字典,我并不完全关心小时/分钟/秒,因为我想找到当天的每个约会。

很明显(或者可能不是很明显,因为我一开始认为它会起作用),查找 ('time': {'month': m, 'day': d, 'year': y}) 不会返回任何结果。我以为我只需要将 dict 的其余部分与 [任何字符,任何长度] 的正则表达式匹配,但这也没有返回任何内容。

db.appointments.find({'name': some_name, 'time': {'month': mm, 'day': dd, 'year': yyyy, 'hour': r'.*', 'minute': r'.*', 'second': r'.*'}})

我自己查找并尝试过的所有方法似乎都不起作用,所以我不确定我应该做什么。

【问题讨论】:

    标签: mongodb python-2.7 pymongo


    【解决方案1】:

    从技术上讲,您将时间存储为 subdocument 相关报价可以帮助您:

    子文档中特定字段的相等匹配选择 当子文档中的字段包含一个字段时的文档 匹配指定值。

    在以下示例中,查询使用点表示法来匹配所有 字段生产者的值是一个子文档的文档 包含值为“ABC123”的外地公司,并且可能包含其他 字段:

    db.inventory.find({'producer.company': 'ABC123'})

    所以你的例子可能是这样的:

    db.appointments.find({'name': some_name, 'time.month' : mm, 'time.day': dd, 'time.year': yyyy}})
    

    【讨论】:

      猜你喜欢
      • 2014-12-21
      • 2016-07-03
      • 2023-04-03
      • 2023-03-07
      • 2014-12-16
      • 2020-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多