seho20001123
seho20001123
  • 发布:2021-02-01 22:11
  • 更新:2021-06-26 19:34
  • 阅读:1322

unicloud lookup 查询为空的问题

分类:uni-app

首先有2个表,一个是问题表,一个是专区表
问题表中存在一个字段是areaID对应的是专区表的_id


//collection是问题表的集合  
const data = await collection  
            .aggregate()  
            .match(whereParams)  
            .limit(limit)  
            .skip(limit * (page - 1))  
            .sort({  
              createDate: -1  
            })  
            .lookup({  
              from: "questionArea",  
              localField: "areaID",  
              foreignField: "_id",  
              as: "areaInfo"  
            })  
            .end()

areaInfo数组出来了,但是是空数组
但是库中确实存在这样的关系,不知道是不是要给数据库加索引之类的

附件2个是对应数据库的数据

2021-02-01 22:11 负责人:无 分享
已邀请:
DCloud_uniCloud_WYQ

DCloud_uniCloud_WYQ

你的数据是从别的地方导入的吗?用的是腾讯云还是阿里云,可以导出一下这两个表发我看一下

  • seho20001123 (作者)

    用的是阿里云,其中一个表的数据是外部json导入进去的,好的我现在发给你

    2021-02-02 11:51

  • seho20001123 (作者)

    这个是db.init.json 测试数据,您看一下,阿里云oh

    2021-02-02 11:55

  • seho20001123 (作者)

    你好我已经把db.init.json发到下面了,你点击一下查看全部回答

    2021-02-02 19:53

seho20001123

seho20001123 (作者) - 菜鸟一个

{
"question": {
"data": [
{
"_id": "600c4e48a228c7dcd8efcbd9",
"title": "写一个方法判断在一个一维数组里,有且只有一个数等于给定的值",
"areaID": "5fdf56a3e2c1ee0001a52e49",
"publishUserID": "5ff5bdd5770c7900015b1f80",
"content": "",
"questionExplanation": [],
"tagID": [
"5ff5bc70c23632000132f512"
],
"state": "pass",
"createDate": "2021-01-23T16:24:54.540Z",
"updateDate": "2021-01-23T16:24:54.540Z",
"deleteDate": ""
}
]
},
"questionArea": {
"data": [
{
"_id": "5fdf56a3e2c1ee0001a52e49",
"name": "前端",
"iconPath": "https://vkceyugu.cdn.bspapp.com/VKCEYUGU-aliyun-0vdryl5tm4n61d8ce3/0f58cd10-5a55-11eb-918d-3d24828c498c.png",
"createDate": "2020-12-20T13:50:27.917Z",
"updateDate": "2020-12-20T13:53:41.104Z",
"deleteDate": ""
}
],
"schema": {
"bsonType": "object",
"required": [],
"permission": {
"read": true,
"create": false,
"update": false,
"delete": false
},
"properties": {
"_id": {
"description": "ID,系统自动生成"
}
}
}
}
}

  • DCloud_uniCloud_WYQ

    我用你的数据是可以直接查出来的,不过db_init.json可能和库里的数据不太一样,建议使用云数据库的导出功能,导出一下这两个表的数据发我一下,另外确定查询的是你给我的这两条数据吗?把lookup之前的那几个方法去了再试试呢

    2021-02-04 18:30

seho20001123

seho20001123 (作者) - 菜鸟一个

这个是数据库导出的部分数据, 有areaID的是题目表,另外一个就是专区表。
另外我确定是查询的这两个表的数据
lookup前几个方法我去掉了,还是不行,查出来还是空
如果你那边可以,能不能给我一个你的demo压缩包,我跑一下试试
我的微信 npm_install_s

DCloud_uniCloud_WYQ

DCloud_uniCloud_WYQ

语文数学天才

语文数学天才 - 做最顺手的nvue组件库与工具集

妈妈呀。可能是太自信,没有看文档。这个问题害我一直搞不明白为什么查不出数据!

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