mongodb - Mongo:如何过滤掉匹配两个不匹配的记录?
问题描述
我们的文档有 2 个字段:类型(字符串)和代码(整数)
我必须提取所有记录,但排除两个条件都为真的所有记录
- 类型:“实时出价”
- 代码:23
我必须看到
- MTK 23
- 实时出价 20
但看不到
- 实时出价 23
我想按原样编写查询:
{
$not: {
$type: "RTB",
$code: 23
}
}
但是不允许将 $not 用作顶级...
解决方案
而不是$not
你可以使用$ne
运算符
db.collection.find({
"$expr": {
"$not": {
"$and": [
{ "$eq": ["$type", "RTB"] },
{ "$eq": ["$code", 23] }
]
}
}
})
推荐阅读
- assembly - 计算器中的emu 8086除法错误溢出
- amazon-web-services - 如何在 CDK / Cloudformation 中获取 API 网关客户端证书?
- c# - 自定义排序数组 - 较大值之间的较小值
- json - 如何使用也包含无效 NULL 字符串的嵌套 JSON?
- html - 如何在 chrome 中不显示翻译请求
- php - 带有 PHP 的 nginx-unit 在找不到任何 PHP 文件时生成 Server 500 错误
- ios - UIPanGestureRecognizer - 仅在连接 2 个点的线路径内拖动 UIView
- swift - Mapbox Swift 指南针可见性属性
- python - CVXPY 中表达式的二次型 (quad_form)
- typescript - 如何正确键入作为打字稿中的类的变量