有两个表
表数据如下:
// goods表
{
"_id": "652917e455b3379a662d3049",
"categoryId": "65289e4b6e5d2da311fab4f7"
}
// category表
{
"_id": "65289e4b6e5d2da311fab4f7",
"title": "标题"
}
两个表已经建立外键
现在使用temp()联表查询
let goods = db.collection('goods').where({
_id:"652917e455b3379a662d3049",
categoryId:"65289e4b6e5d2da311fab4f7"
})
.getTemp()
let category = db.collection("category").getTemp()
db.collection(goods,category).get()
获取数据为空
现在where去掉_id,查询如下
let goods = db.collection('goods').where({
categoryId:"65289e4b6e5d2da311fab4f7"
})
.getTemp()
let category = db.collection("category").getTemp()
db.collection(goods,category).get()
可以成功获取数据
同样的方法测试其他表关联查询,结果为一样,只要where中有_id就返回空。
let goods = db.collection('goods').where({
_id:"652917e455b3379a662d3049"
})
.getTemp()
let category = db.collection("category").getTemp()
db.collection(goods,category).get()
只传入_id仍然为空
问题是不使用where的话,使用doc不支持temp联表查询。
深圳奥飞网络 (作者)
我的数据是放在init_data.json文件里插入的,自己拼接的json。
好吧,我在_id后面加上了a,就可以查询到了。怪我没有看懂文档。
2023-12-22 11:51