js查询模型通过集合属性过滤
Sails.js query model filtering by collection attribute
假设Sails.js v0.10中有以下模型:
Person.js
module.exports = {
attributes: {
name: 'string',
books: {
collection: 'book',
via: 'person'
}
}
};
Book.js
module.exports = {
attributes: {
name: 'string',
person: {
model: 'person'
}
}
};
我想要一个查询来返回拥有某种关联图书的人员数组。我想做一些像下面的查询,但我不知道怎么做:
Person.find()
.populate('books')
.where({ books.name: 'Game of Thrones'})
.exec(function(err, person) {
if (err) return res.send(err, 500);
res.json(person);
});
任何想法,如果这是可能的,使用一个简单的查询?
首先,您需要调整您的Book
模型,使其成为多对多关联:
module.exports = {
attributes: {
name: 'string',
people: {
collection: 'person',
via: 'books'
}
}
};
根据关联的属性进行查询目前在Sails中是不可能的,尽管它在路线图上。但是,一旦如上所述设置了Book
模型,就可以通过反向查询获得所需的结果:
Book.findOne({name: 'Game of Thrones'}).populate('people').exec(...);
相关文章:
- 将css属性添加到对象的集合中
- 如何更改与Backbone集合中的模型相关联的几个元素的css属性
- 从骨干集合筛选模型,然后为这些模型设置属性
- 在 Forerunner 数据库集合中创建主键时,key 属性是否可以位于集合对象的对象内部
- 如何在集合中指定模型的一个属性
- 主干:如何保存模型集合中模型的属性更改
- BackboneJS重新排列集合中模型的最佳方式,同时为每个模型维护0索引的有序属性
- 集合作为 EmberJS 中的属性?(一对多关系)
- 我怎样才能得到“;类型“;集合中每个属性的
- 根据三个模型属性对主干集合进行排序
- 根据模型属性对主干集合进行排序
- 控制台中的不确定性主干集合属性分配
- 在添加/删除/重置时更新骨干集合属性
- 一对多关系——变量所有者集合属性
- 一个jquery组合多个.html集合属性
- js查询模型通过集合属性过滤
- 主干集集合属性(用于url)
- 为什么jQuery集合属性没有反映在.html()中?
- 如何使用javascript将属性从一个集合属性转换为一个新属性
- 不能交换模型集合属性