我有以下情况:蒙戈 - 治疗无效或未定义fieled为特定值
考虑采用以下文档的集合:
[
{
'_id': ObjectId('somehting'),
'date': null
},
{
'_id': ObjectId('somehting'),
},
{
'_id': ObjectId('somehting'),
'date': '2015-01-01 12:12:12'
},
many others
]
现在我有以下查询将查找与日期之间的值db.getCollection('validation_archive')。find({'date':{$ lte:'[date_here]',{$ gte:'[date_here]'}}});
所有的工作都很好,除了空字段或不存在的字段。
有反正我可以告诉mongo把null当作'0000-00-00 00:00:00'吗?
编辑:我需要这样做,所以如果在$ gt中发送的日期是0000-00-00 00:00:00,查询将返回结果中的文档。
我不想从结果中排除它们,如果$ gt/$ gte参数为'00 -00-00',我想将它们包含在结果中。他们默认排除在外。编辑的问题来反映这一点。 – zozo
@zozo你需要考虑一下,因为“00-00-00”不在“2015-01-01”和“2015-12-01”的范围内。这就是为什么我说*“有什么意义”*。如果需要的话,你总是可以使用'$ project'并通过'.aggregate()'添加'$或'条件。 –
@zozo甚至为你增加了一个例子。 –