0

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

显然(或者可能不是很明显,因为我一开始认为它会起作用),查找 ('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'.*'}})

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

4

1 回答 1

0

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

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

在以下示例中,查询使用点符号来匹配字段 producer 的值是子文档的所有文档,该子文档包含值为“ABC123”的字段 company,并且可能包含其他字段:

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

所以你的例子可能是:

db.appointments.find({'name': some_name, 'time.month' : mm, 'time.day': dd, 'time.year': yyyy}})
于 2013-04-17T17:38:06.120 回答