-1

我目前使用 StrongLoop 作为我的 API 后端服务器和 Mongodb 作为数据存储引擎。

假设有一个名为article. 它有两个字段title,和content。并且有两个前端页面来显示文章列表和查看单个文章。

显然数据列表页面只需要title字段,而视图页面两者都需要。目前GETStrongLoop API 的方法返回所有字段,包括content. 它需要额外的流量。有什么方法可以只返回特定字段吗?

Mongodb 对此方法的支持projectionfind()我怎样才能通过 StrongLoop 做同样的事情?

4

3 回答 3

2

你有没有看过提供的过滤器。http://docs.strongloop.com/display/LB/Querying+models

于 2014-08-14T06:24:37.563 回答
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) {

                });
于 2018-11-21T08:52:18.913 回答
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 } })

而且我认为强循环尚不支持二级对象过滤器,有人知道如何过滤二级对象属性或尚未实现吗?

二级投影:(此处需要帮助)

例如:2

model.find({ fields: { name: 1, 'patient.name': 1, 'patient.age': 1, 'patient.address': 0 } })
// Which results { name } only
于 2020-04-23T13:26:09.047 回答