目前,我有一个ISODate设置为7月7日。我的字符串是7月7日。我正在尝试隔离InvoiceDate中的那些特定事件。我已经尝试过了:
$ match {InvoiceDate:{“ $ dateFromParts”:{'year':year,'month':month,'day':day}}}}
但是,我的数组一直为NULL。我不知道这里出了什么问题。有人可以帮我吗。
答案 0 :(得分:0)
为此使用力矩库,在要传递的字符串中指定日期格式:
/* set to 12:00:00 am 17 July 2018 */
const start = moment('7-17-2018', 'M-DD-YYYY').startOf('day').toDate();
/* set to 11:59:59 pm 17 July 2018 */
const end = moment('7-17-2018', 'M-DD-YYYY').endOf('day').toDate();
collection.find({ 'invoiceDate': { '$gte': start, '$lte': end } })
.toArray((err, data) => console.log(data))
或聚合
collection.aggregate([
{ '$match': {
'invoiceDate': { '$gte': start, '$lte': end }
} }
], (err, data) => console.log(data))
答案 1 :(得分:-1)
您可以像这样过滤特定日期的mongodb文档。
$match([{invoiceDate:$gte:moment(date_to_check).startOf('day'),$lte:moment(date_to_check).endOf('day')}}])
尝试一下