mongoose 关联条件查询怎么写?
A表中ref了B表,B表有一个字段state 写一个查询体对象,找出所有B的state=2的A的信息 let query = {}; query = ????
11 回复
A.find().populate({ path:‘B’, match:{ state:2 } }).exec()
同求
@caiya 虽然还没验证,但我觉得你说的就是对的!谢谢!
@caiya 如果A还关联了C表,c的数据也要一起查出来,那么这么写对吗? A.find().populate({ path:‘B C’, match:{ state:2 } }).exec()
RTFM。。。 关系模型这么多为啥不用关系型数据库。。。
https://segmentfault.com/a/1190000002727265 可以看看这个,参考一下
@94007boy 不对
@94007boy 应该再写一个populate级联在后面就行了
@caiya 谢谢指点,感谢!
不对啊…
为什么我的查询结果是:
[{
_id:'xxxxxxx1',
name:'xxxxx',
B:null
},{
_id:'xxxxxxx'2,
name:'xxxxx',
B:{
_id:'xxxxxxx',
state:2,
}
}]
在结果中子表B的state不等于2时返回结果为null,整体的查询结果数量不变。