2

我正在使用环回为我的应用程序提供 API,并尝试更改某些数据的 GET 请求。

截至目前,查询获取特定 API 的所有结果:

People.find({
    where: {
      'town': 'name of a town'
    }
  }).$promise
  // Promise is fulfilled and people returned
  .then(function(results) {
    $scope.people = results;
  })
  // Promise is rejected and error catched
  .catch(function(err) {
    $scope.errors.PeopleFind = JSON.stringify(err.data.error.message ?
      err.data.error.message :
      err.data.error.errmsg
    );
  }); 

我已经尝试在 where 子句中添加单引号或执行类似.find({ where : { town : 'name of a town' }}.

无论我把引号放在哪里,结果总是整个包。我将如何查询我感兴趣的结果?

提前致谢

4

3 回答 3

10

感谢一位同事,我找到了答案,我会在这里写下答案


People
            .find({
                filter: {
                    where: {Town : currentUserTown}
                }
            })

环回框架的文档没有说明您需要应用过滤器对象来实际过滤结果,实际上您可以使用他们编写的这个示例检查文档:

Cars.find({where: {carClass:'fullsize'}});

在 where 子句对象之前,您需要编写包含该子句的过滤器对象,这应该可以解决查询问题。

于 2017-03-09T08:30:14.837 回答
2

像这样使用like

People.find({where: {Town : like: {currentUserTown}}}, function(err, res){
//code goes here.
})

并确保您已strictObjectIDCoercion在 json 文件中添加:

{
  "name": "People",
  "base": "PersistedModel",
  "idInjection": true,
  "options": {
    "validateUpsert": true,
    "strictObjectIDCoercion": true
  },
  "properties": {
 // rest of json file ...

希望这可以帮助。

于 2018-04-10T11:54:23.963 回答
0

这是常见的错误,请检查您各自的模型 People.json 配置文件,并制作town: {"type":"string"}

于 2020-01-09T04:37:29.093 回答