MongoDB 使用 $where 操作符查询时间差为一天且其他字段等于3的文档
在MongoDB中,你可以使用$where操作符来执行JavaScript表达式作为查询条件。下面是一个示例查询,使用两个时间字段的差集天数为1,且另外一个字段的值为3:\n\njavascript\ndb.collection.find({\n $where: function() {\n var date1 = new Date(this.date1);\n var date2 = new Date(this.date2);\n var diffInDays = Math.floor((date2 - date1) / (1000 * 60 * 60 * 24));\n return diffInDays === 1 && this.field === 3;\n }\n})\n\n\n在这个示例中,collection是你的集合名称,date1和date2是两个时间字段的名称,field是另外一个字段的名称。你需要将这些名称替换为你实际使用的字段名称。\n\n这个查询会遍历集合中的每个文档,执行JavaScript表达式来判断是否满足条件。如果满足条件,则返回该文档作为查询结果。请注意,使用$where操作符会导致查询性能下降,因为它需要遍历集合中的每个文档并执行JavaScript代码。因此,只有在没有其他更好的查询方法时才应该使用$where操作符。
原文地址: https://www.cveoy.top/t/topic/pK6V 著作权归作者所有。请勿转载和采集!