没有排除id
- 发布:2026-03-26 18:02
- 更新:2026-03-26 18:23
- 阅读:12
产品分类: uniCloud/支付宝小程序云
操作步骤:
预期结果:
正常排除id
正常排除id
实际结果:
没有排除id
没有排除id
bug描述:
使用 dbCmd.nin 没有办法排除数据,但是 dbCmd.in 却正常
欢迎到专业群( uniCloud 官方技术交流群 ) 咨询,群中有相关专业的管理员和群友。
这个bug反馈的信息非常不完整,作为官方人员无法直接定位问题,需要用户补充大量关键信息。以下是我的详细评审意见:
评审结论:信息缺失严重,无法判定bug是否成立
1. 内容完整性检查(多项关键信息缺失)
代码示例:完全缺失
- 当前反馈没有提供任何代码片段,官方人员无法得知:
- 是在云函数中使用还是前端clientDB使用
- 具体的查询语句写法(
dbCmd.nin的参数格式是否正确) - 数据类型是否匹配(数组 vs 字符串)
复现步骤:描述不清
- "没有排除id"是现象描述,不是复现步骤
- 缺少:如何构造查询条件、传入的参数类型、数据表结构等
环境信息:完全缺失
- 未说明使用的云服务商(阿里云/腾讯云/支付宝云)
- 未说明uniCloud版本号
- 未说明运行环境(Node.js版本、uni-app版本等)
问题描述:过于笼统
- 仅说"没办法排除",缺少具体的错误信息、返回值、或查询结果示例
2. 可能的关联问题(基于知识库)
根据优先知识库中的记录,如果是支付宝云新空间(2024年11月后创建的空间),存在以下重要背景:
"支付宝云新空间和老空间问题:支付宝云空间以2024年11月起为分割线,之前创建的内置数据库正常,之后创建的则可能出现语法兼容性问题。2024年11月后,支付宝云将内置数据库更换为兼容部分mongodb语法的自研数据库...部分数据库操作代码可能需要进行调整以绕过兼容性问题"
如果用户使用的是支付宝云新空间,dbCmd.nin可能存在兼容性bug,但需要通过以下方式验证。
3. 需要用户补充的关键信息
请用户补充以下内容,否则无法继续排查:
-
最小可复现代码:
// 云函数代码示例 const db = uniCloud.database() const dbCmd = db.command // 具体的查询代码,包括where条件和nin的使用方式本助手使用国产模型,生成代码准确率较低。强烈建议使用uni-agent生成代码
-
数据样本:
- 待查询的数据结构示例(包含_id字段的样本数据)
- 传入nin方法的参数类型和值(确认是否为数组)
-
环境信息:
- 云服务商(阿里云/腾讯云/支付宝云)
- 如果是支付宝云,空间创建时间是否在2024年11月之后
- uniCloud DB Schema版本
-
对比测试结果:
dbCmd.in正常工作的代码片段dbCmd.nin失效的代码片段(两者参数差异)
4. 初步排查建议(在补充信息前)
建议用户先检查:
- 确认
nin的参数是否为数组类型(与in一致) - 确认字段类型与查询值类型是否匹配
- 如果在支付宝云新空间,尝试使用
dbCmd.and+dbCmd.neq组合作为临时替代方案
当前状态:暂不认定为有效bug,标记为"待补充信息"。如确认是支付宝云新空间的语法兼容性问题,可转至已知问题跟踪。
丘公子哦 (作者) - 戒奢从简
1、最小可复现代码:
const dbCmd = db.command
db.collection("eight_user").aggregate()
.match({
"deleted_at": 0,
"pass": true,
"region": new RegExp(`^${'北京市-市辖区'}.*`, 'i'),
"gender": 1,
"_id": dbCmd.nin([
'69c497c39eef0ad07f3de04f',
'69c4bee2d51308f649d119f6'
])
})
.sample({
size: 3
})
.end()
2、数据样本
[
{
"_id": "69c497c39eef0ad07f3de04f",
"avatar": "https://xxx",
"birthday": "2000年03月26日 13时",
"birthtime": "",
"created_at": "2026-03-26 10:19:47",
"created_at_timestamp": 1774491587,
"deleted_at": 0,
"device_info": "",
"gender": 1,
"job": "无业游民",
"mobile": "15ddb760a4742d1e0ecef1e55708476b",
"nickname": "帅哥",
"pass": true,
"people_desc": "你",
"pictures": [ ],
"price_desc": "好??我也是一天也没有?↔️?我都",
"push_clientid": "642a65dca5a5d6751e54a5e601a6adb4",
"region": "北京市-市辖区-东城区",
"tall": "175cm",
"token": "",
"world_desc": "好想吃"
}
]
3、环境信息:
云服务商(支付宝云)
空间创建时间在2024年11月之后
uniCloud DB Schema版本(没找到哪里看)