具有参数表和日期的NodeJS,MongoDB findOne

时间:2019-02-26 18:34:26

标签: node.js mongodb mongoose

{ }之后添加另一个{ad_id: advertisement._id}时出现错误。该如何处理?

错误:UnhandledPromiseRejectionWarning: MongoError: >1 field in obj: { $lte: new Date(1551205719440), $gte: new Date(1551202119440) }

    let adContacts = await AdvertisementContact.findOne({ad_id: advertisement._id}, {
        "created_at": {
            "$lte": moment().toDate(),
            "$gte": moment().subtract(24, 'hours').toDate()
          }          
    });

如果有人能解决此问题,我将不胜感激。

1 个答案:

答案 0 :(得分:1)

尝试将两个过滤条件都包含在一个对象中:

let adContacts = await AdvertisementContact.findOne({
ad_id: advertisement._id,    
"created_at": {
    "$lte": moment().toDate(),
    "$gte": moment().subtract(24, 'hours').toDate()
  }          
});

实施中的问题在于,您要向findOne发送两个参数,根据documentation,第一个参数是filter,第二个参数是projection。