mongoose 关联条件查询怎么写?
发布于 2 年前 作者 94007boy 2814 次浏览 来自 问答

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。。。 关系模型这么多为啥不用关系型数据库。。。

@libook mysql?

来自酷炫的 CNodeMD

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

@caiya 谢谢指点,感谢!

不对啊…

为什么我的查询结果是:

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

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

回到顶部