各位好:
在开发过程中 使用控制台数据库模板查询结果和云函数调用API查询的结果不一致?
模板查询代码如下,会返回3条符合条件的数据
db.collection('v6MasterList')
.where({
orderState: _.gte(0),
workType: _.elemMatch({
typeLevel: _.and([_.lte(7), _.gte(7)]),
typeIndex: _.in([0,1,2])
}),
}).field({
workType: true,
idName: true,
})
.get()
云函数代码如下,结果是0条数据
console.log('v14231234');
let temResult = await db.collection('v6MasterList')
.where({
orderState: _.gte(0),
workType: _.elemMatch({
typeLevel: _.and([_.lte(7), _.gte(7)]),
typeIndex: _.in([0,1,2])
}),
}).field({
workType: true,
idName: true,
})
.get()
console.log('查询的结果是的', temResult);
两边的代码 我贴过去执行也是不同的结果
同一个数据库内相同环境
求解
1、查询条件一点点增加来调试。
数据库权限设置对了吗
使用控制台模板查询到的部分数据格式如下,(删除了部分涉及隐私的不相关字段)
[
{
"_id": "og1b45",
"idName": "张三",
"workType": [
{
"typeIndex": 0,
"typeLevel": 7,
},
{
"typeIndex": 1,
"typeLevel": 7,
},
{
"typeIndex": 2,
"typeLevel": 6,
}
]
},
{
"_id": "og1b45",
"idName": "李四",
"workType": [
{
"typeIndex": 2,
"typeLevel": 7,
}
]
},
{
"_id": "og1b",
"idName": "王五",
"workType": [
{
"typeIndex": 0,
"typeLevel": 4,
},
{
"typeIndex": 1,
"typeLevel": 1,
},
{
"typeIndex": 2,
"typeLevel": 7,
}
]
}
]