mongoose 关联条件查询怎么写?
 发布于 8 年前  作者 94007boy  5479 次预览  最后一次回复是 6 年前  来自 问答 

A表中ref了B表,B表有一个字段state 写一个查询体对象,找出所有B的state=2的A的信息 let query = {}; query = ????

11 回复
caiya

A.find().populate({ path:‘B’, match:{ state:2 } }).exec()

94007boy

@caiya 虽然还没验证,但我觉得你说的就是对的!谢谢!

94007boy

@caiya 如果A还关联了C表,c的数据也要一起查出来,那么这么写对吗? A.find().populate({ path:‘B C’, match:{ state:2 } }).exec()

libook

RTFM。。。 关系模型这么多为啥不用关系型数据库。。。

caiya

@94007boy 应该再写一个populate级联在后面就行了

94007boy

@caiya 谢谢指点,感谢!

xjchenhao

不对啊…

为什么我的查询结果是:

[{
  _id:'xxxxxxx1',
  name:'xxxxx',
  B:null
},{
  _id:'xxxxxxx'2,
  name:'xxxxx',
  B:{
	_id:'xxxxxxx',
	state:2,
  }
}]

在结果中子表B的state不等于2时返回结果为null,整体的查询结果数量不变。