Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 查询日期或不存在?_Node.js_Mongodb_Mongoose_Mongodb Query - Fatal编程技术网

Node.js 查询日期或不存在?

Node.js 查询日期或不存在?,node.js,mongodb,mongoose,mongodb-query,Node.js,Mongodb,Mongoose,Mongodb Query,试图弄清楚我是否可以使用mongoose和nodejs来实现这个查询 Product.find({ price: { $gt: 2, $lt: 3}, date: { $gt: new Date() || $exists: false} }). exec(callback); 是否有人知道是否有可能检查日期是否不存在并将其发回,或者日期是否大于今天 谢谢使用: 所有的参数通常都是隐式的,因此就像您另外说的“价格大于2,小于3”一样,“日期大于此日期

试图弄清楚我是否可以使用mongoose和nodejs来实现这个查询

   Product.find({
        price: { $gt: 2, $lt: 3},
        date: { $gt: new Date() || $exists: false}
    }). exec(callback);
是否有人知道是否有可能检查日期是否不存在并将其发回,或者日期是否大于今天

谢谢

使用:

所有的参数通常都是隐式的,因此就像您另外说的“价格大于2,小于3”一样,“日期大于此日期或日期不存在”

只是用短语的形式解释一下逻辑

使用“像这样的多个字段,然后实际使用


如果我有date1和date2,并且想要对两者进行相同的检查,我可以执行多个$ors吗?“$或”:[{“日期”:{“$gt”:新日期()}},{“日期”:{“$exists”:false}],“$或”:[{“日期2”:{“$gt new date()},{“日期2”:{“$exists”:false}]@Lion789是的。这是您实际使用显式
$和
运算符的情况之一。出于与
$或
相同的基本原因,参数在一个数组中。不是像您这样做,而是像我这样做。请参阅答案内容。谢谢,我想知道这是否也允许,请继续获取错误:{u id:{$nin:[userObj.ids]}……数组[]为空,但它给我一个cast caster错误:如果您还有其他问题,请确保在执行之前搜索现有答案。
Product.find({
  "price": { "$gt": 2, "$lt": 3 },
  "$or": [
    { "date": { "$gt": new Date() } },
    { "date": { "$exists": false } }
  ]  
}). exec(callback);
Product.find({
  "$and": [
    { "price": { "$gt": 2, "$lt": 3 } },
    { "$or": [
      { "date1": { "$gt": new Date() } },
      { "date1": { "$exists": false } }
    ]},
    { "$or": [
      { "date2": { "$gt": new Date() } },
      { "date2": { "$exists": false } }
    ]}
  ]
}). exec(callback);