db.command.nin查询数据错误的BUG
发布于 5 年前 作者 juan10 11759 次浏览 来自 问答

目前有一个存储_id的一维数组用于 nin,如下:

where语句的条件如下:

    

在查询时nin语句没有起作用,返回的数据依然包含了qIds数组里面_id

反之,如果使用 in 条件则返回空数组,而这个id在数据库中是确实存在的,在云开发控制台可以搜得到。

复现demo:

let db = wx.cloud.database();
 
let _ = db.command;
 
let qIds = ['5bafa8c76cdb2ff8d45a2fac','5bafa8c76cdb2ff8d45a2fae'];
 
db.collection('questions').where({ _id: _.nin(qIds) }).get({
     success: (res) => {
           console.log(res)
     }
})
3 回复

问题没有复现,提供下完整 JSON 数组,数据库权限设置及前端的调用代码?

另外,你对接口进行了二次封装吗?nv_length 是什么呢?

这帖子要沉了吗?

有没有大佬帮忙看下什么原因

今天使用调试基础课2.6.6 也遇到这个问题,使用非_id外的其他字段nin就能生效,咨询下题主当时问题是怎么解决的?

回到顶部