收藏
回答

云开发批量导入数据后出现查询不到的情况

框架类型 问题类型 终端类型 AppID 基础库版本
小程序 Bug 客户端 wx33f3c73421b95996 2.2.3

- 当前 Bug 的表现(可附上截图)



如上图,这些数据是从我本地mongodb数据库批量导入小程序云开发数据库的,但是查询的时候是查询不到的,需要每一项编辑再保存才会出现该记录。本来几千条记录在里面,但是查不到。

云函数指定条件查询是查询不到匹配项的,不指定查询条件就可以查询到。

而在小程序端查询数据库则不管指不指定查询条件都查询不到数据,一条都查询不到,这获取又是另外一个Bug吧。


注意是查不到一张表的项中保存的另一张表的项的id,如上图的book字段保存的是一本书的id,上图的每一条记录表示一个章节,将书的id保存到记录里辨别属于哪本书。结果从本地的mongodb导入到小程序云开发数据库后不能根据book字段查询了


ok,我发现导入进去的记录中还有别的记录的id的就无法查询,如果是别的比如字符串数子就可以,所以建议在导出数据前先把对应的id转成字符串格式。当然,这还是个Bug啦。


还有不知道为什么在小程序端查不到数据库中数据的问题。。。

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

3 个回答

  • 邓坤力
    邓坤力
    2018-09-14

    看下集合权限设置是否是默认的 “仅创建者及管理员可读写” 呢?这种情况下因为导入的记录都没有 _openid 字段(标记是哪个小程序用户创建的,默认权限设置下小程序用户只能读到和 _openid 字段和自己的 _openid 相同的记录),因此小程序端用户是无法读到集合数据的,需要将集合权限设置为 “所有人可以读”

    2018-09-14
    有用 2
    回复 4
    • Maosheng
      Maosheng
      2018-09-14

      原来是这样,是的

      2018-09-14
      回复
    • superZh
      superZh
      2018-11-28回复Maosheng

      我也碰到这个问题了并且集合的权限是所有人可读,批量导入数据库自动生成的_id字段还是不能查询?请问您有解决这个问题嘛


      2018-11-28
      回复
    • 陈亮
      陈亮
      2018-12-14

      如果是云函数里调用数据库呢,有这个权限的问题么?

      2018-12-14
      回复
    • 空▓▓格
      空▓▓格
      2020-04-27
      你搁这儿扯淡呢  人家的问题是id查询不到数据  是因为导入json文件自动生成的_id太长  db.collection(xxx) .doc(_id)会自动截取_id  会导致和云端集合中的_id不匹配 所以才查询不到数据
      2020-04-27
      回复
  • 张春斌
    张春斌
    2019-01-09

    我也遇到这个问题,在云函数中下面可以查到

    .where({

    _id: ("5be843ebd34833b264f450e3")

    })

    但这样就不行

    .where({

    _id: _.in(["5be843ebd34833b264f450e3"])

    })

    数据是导入的,权限所有人可读,怎么回事啊?

    2019-01-09
    有用
    回复
  • Maosheng
    Maosheng
    2018-09-13

    并且导入csv格式的数据老是报错


    格式据我检查是没问题的

    2018-09-13
    有用
    回复 2
    • 邓坤力
      邓坤力
      2018-09-14

      看提示是第二行第九列格式错误了,发来看看?

      2018-09-14
      回复
    • Maosheng
      Maosheng
      2018-09-14回复邓坤力


      括号?

      2018-09-14
      回复
登录 后发表内容