我目前正在使用StrongLoop作为我的API后端服务器,使用Mongodb作为数据存储引擎。
我们假设有一个名为article
的集合。它有两个字段title
和content
。并且有两个前端页面可显示文章列表并查看单个文章。
显然,数据列表页面只需要title
字段,视图页面需要两者。目前,StrongLoop API的GET
方法会返回包括content
在内的所有字段。它需要额外的流量。有什么方法可以返回特定领域吗?
Mongodb支持projection
for find()
方法。我怎样才能通过StrongLoop做同样的事情?
答案 0 :(得分:2)
答案 1 :(得分:2)
查询NodeAPI:
server.models.Student.findOne({where: {RFID: id},fields: {id: true,schoolId: true,classId: true}}, function (err, data) {
if (err)
callback(err);
else {
callback();
}
})
查询RestAPI:
$http.get('http://localhost:3000/api/services?filter[fields][id]=true&filter[fields][make]=true&filter[fields][model]=true')
.then(function (response) {
}, function (error) {
});
答案 2 :(得分:0)
您可以使用字段投影,
样本记录:
{ name: 'Something', title: 'mr', description: 'some desc', patient: { name: 'Asvf', age: 20, address: { street: 1 }}}
一级投影:
model.find({ fields: { name: 1, description: 1, title: 0 } })
我认为Strong循环尚不支持二级对象过滤器,有人知道如何过滤二级对象属性或尚未实现吗?
第二级投影:(在这里需要帮助)
例如:2
model.find({ fields: { name: 1, 'patient.name': 1, 'patient.age': 1, 'patient.address': 0 } })
// Which results { name } only