繁体   English   中英

序列化—通过关联对象的精确数组查找?

[英]Sequelize — find by exact array of associated objects?

假设我有User模型。 它通过UserFriends表与“ Friends作为“ User模型有很多关联。

User = sequelize.define 'User',

  name :
    type         : Sequelize.STRING
    allowNull    : false
    defaultValue : ""

User
.hasMany User,
  as      : "Friends"
  through : "UserFriends"

如何在好友中找到具有几个特定用户的User实例? 例如,如果用户1的朋友为3,4,5,而用户2的朋友为3,4,我正在搜索按确切的朋友ID数组[3,4]查找user2的方法。

非常感谢!

User.find({
  where: ...,
  include: [{
    model: User,
    as: 'Friends',
    where: { id: [3, 4] }
  }]
})

如果您使用的是较新的版本(肯定是2.0-dev12具有此功能),则在include中添加where条件将创建内部联接,这意味着它将仅返回具有ID为3或4的朋友的用户

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM