javascript - Mongo in node.js 在 $in 或类似的东西中添加 $gte/$lt
问题描述
我使用 MongoDB Node.js 驱动程序。我的查询看起来像这样:
var query = {
$and: [{
"custom_date": {
"$gte": minDateValue,
"$lt": maxDateValue
}
}, {"doc_name": {"$in": file_type}}, {"sample_type": {"$in": sample_type}}, {"mission": {"$in": mission}}, {"snow_thickness": {"$in": snow_thickness}},{
"depth_m": {
"$gte": minDepthOut,
"$lt": maxDepthOut
// Or equal to "NA"
}
}]
};
一切正常,但我想在字段 depth_m 中添加 $in 或 $or,因此查询的这一部分将是 "$gte": minDepthOut,"$lt": maxDepthOut 或等于 "NA" 例如.
我的意思是 depth_m 必须在指定范围内或等于“NA”
谢谢你的帮助
解决方案
您可以使用$or
查询运算符
{
"$and": [
{ "custom_date": { "$gte": minDateValue, "$lt": maxDateValue }},
{ "doc_name": { "$in": file_type } },
{ "sample_type": { "$in": sample_type } },
{ "mission": { "$in": mission } },
{ "snow_thickness": { "$in": snow_thickness } },
{ "$or": [
{ "depth_m": {
"$gte": minDepthOut,
"$lt": maxDepthOut
}},
{ "depth_m": "NA" }
}]
]
}
推荐阅读
- android - 如何向 Blusesnap 中的现有购物者添加新信用卡
- python - 当我们将函数分配给名称时,内部会发生什么?
- wordpress - 使用 wordpress 中的 htaccess 文件将 HTTPS 转换为 HTTP 以加载法师和链接
- sql - 如何在 symfony 中创建数据库 sql 视图
- javascript - 等待代码执行以获取输入
- android - Android 中 CMake 的 LOCAL_STATIC_LIBRARIES 等价物是什么?
- jquery - 如何获取输入文件元素(图像)?
- javascript - 仅打印大写字母而没有其他内容的 Javascript 程序
- flutter - 为什么 Flutter 不处理来自 Youtube 的这个意图?
- tensorflow - 使用 gpu 运行 Keras 时发生错误