收藏
回答

db.command.nin查询数据错误的BUG

框架类型 问题类型 终端类型 AppID 基础库版本
小程序 Bug 工具 wxc8fc563f2220aec7 2.2.5

目前有一个存储_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)
     }
})


最后一次编辑于  2018-10-04
回答关注问题邀请回答
收藏

3 个回答

  • 邓坤力
    邓坤力
    2018-10-08

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

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

    2018-10-08
    有用
    回复 1
    • 马凯凯凯凯凯
      马凯凯凯凯凯
      2019-05-08

      今天使用调试基础课2.6.6 也遇到这个问题,使用非_id外的其他字段nin就能生效,数据库权限是只读,

      db.collection("saying").where({

      _id: db.command.nin(ne)

      }).get()


      2019-05-08
      回复
  • 你的小星星
    你的小星星
    2018-10-04

    这帖子要沉了吗?


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

    2018-10-04
    有用 1
    回复 1
    • 马凯凯凯凯凯
      马凯凯凯凯凯
      2019-05-08

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

      2019-05-08
      回复
  • 马凯凯凯凯凯
    马凯凯凯凯凯
    2019-05-08

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

    2019-05-08
    有用
    回复
登录 后发表内容