1***@qq.com
1***@qq.com
  • 发布:2022-05-07 21:15
  • 更新:2022-06-08 23:28
  • 阅读:467

数据库某字段查询无法获取结果,手动修改后才能获取

分类:uniCloud

已解决,是oid格式问题,从json/csv导入其他集合_id必须是以下格式:
"category":{"$oid":"其他集合_id"}

————————
在云数据库导入了csv格式的数据(json试过也不行),用其他字段都能查询到结果,只有 category 字段(是其他表的_id,但在本表中没有设置为外键),在前端clientdb 和 云数据库搜索 都拿不到数据

数据表
"category": {
"bsonType": "string",
"description": "分类 id,但没有设置为外键"
},

前端clientdb查询
查询语句:db.collection('goods').where({"category": "6256c9f4a859800001323cd7"})
打印结果:result: {code: 0, message: "", systemInfo: Array(0), data: Array(0)}

云数据库搜索查询
搜索语句:"category":"6256c9f4a859800001323cd7"
搜索结果:

都没有结果。之后我手动修改了这一行数据(只是重新复制粘贴了这一行),就可以查到这一条了,但其他的仍然不能,这是什么问题??怎么解决呢??


2022-05-07 21:15 负责人:无 分享
已邀请:
呆狗的一生

呆狗的一生 - 呆狗的一生

检查category的格式,再检查category字段前后是否有空格

  • 1***@qq.com (作者)

    都没问题……我刚刚又试了试,甚至不用复制粘贴category这一行,对查不出的数据点击管理,然后直接确定,就可以查到……可我总不能每一条都手动确认一遍呜呜呜

    2022-05-07 22:03

  • 呆狗的一生

    回复 1***@qq.com: 重新导入,用别的格式看看,比如json

    2022-05-08 05:32

  • 1***@qq.com (作者)

    回复 呆狗的一生: 都试过了,重建表也不行……

    2022-05-08 20:42

1***@qq.com

1***@qq.com (作者)

顶顶救救

1***@qq.com

1***@qq.com (作者)

补充:前后都没有空格
csc格式

json格式

DCloud_uniCloud_WYQ

DCloud_uniCloud_WYQ

6256c9f4a859800001323cd7 是满足objectId的格式,你这个字符串是另外一个集合的_id吗?

  • 1***@qq.com (作者)

    是另一个表的_id,但是在本表中只是当作字符串,没有设置为foreignkey,也没有联表查询

    2022-05-09 16:00

  • 1***@qq.com (作者)

    问题主要是:同样的字符串6256c9f4a859800001323cd7,我在云数据库手动添加这条记录就可以查询到,但导入的数据就查不到……很迷惑

    2022-05-09 16:08

  • DCloud_uniCloud_WYQ

    回复 1***@qq.com: 你可以导出json格式看一下,你手动修改过的是不是变成了 $oid: 'xxxx' 这种形式

    2022-05-10 10:45

i***@163.com

i***@163.com

有解决吗?同样遇到

  • DCloud_uniCloud_WYQ

    看上面的评论,导入的时候是不是没把oid类型弄对

    2022-06-09 21:48

  • i***@163.com

    回复 DCloud_uniCloud_WYQ: 不是的也真是奇葩,感觉分布式环境下有问题

    2022-06-15 13:57

  • DCloud_uniCloud_WYQ

    回复 i***@163.com: 在web控制台导出一份你的集合给我,一般是objectId类型问题

    2022-06-15 15:54

  • 1***@qq.com (作者)

    刚看到,是objectid的问题,从json/csv导入必须是 "category":{"$oid":"其他集合_id"} 这种格式

    2022-08-23 10:40

该问题目前已经被锁定, 无法添加新回复