1

我从 Sails 开始,我正在尝试实现 RESTful Json API 文档创建和搜索。

我有这样的文件:

[
  {
    “玩家”:[
      {
        “名称”:“乔纳森”
      },
      {
        “名字”:“尼古拉斯”      
      }
    ],
    "createdAt": "2013-11-05T12:35:41.578Z",
    "updatedAt": "2013-11-05T12:35:41.578Z",
    “id”:“5278e61ddbc01cd206000003”
  },
  {
    “玩家”:[
      {
        “名称”:“涡流”
      },
      {
        “名称”:“乔纳森”
      }
    ],
    "createdAt": "2013-11-05T12:37:52.526Z",
    "updatedAt": "2013-11-05T12:37:52.526Z",
    “id”:“5278e6a0dbc01cd206000004”
  }
]

现在我想通过 POST Json 请求搜索文件,例如,有一个名为nicolas. 我不知道该怎么做。

我想过这个,但没有运气:

{
  '在哪里':{
    'players.name':'尼古拉斯'
  }
}

顺便说一句,我正在使用sails-mongo 适配器。

4

1 回答 1

1

我相信您正在寻找SailsJS 文档的“模型和 ORM”部分中的“查询语言”部分,而 Waterline 文档的“使用查询”部分也可能会有所帮助。

注意:不要让像https://www.youtube.com/watch?v=HozWtywQNMo这样的旧教程迷惑你。我相信查询语法发生了一些变化。因此,可能也值得阅读迁移指南。

这是一个例子:

    User.find({id: req.params['id'], limit: 1})
    .then(function foundUser(user){
        if(!user) return next();
        res.view({
            user: user[0]
        });
    })
    .catch(function(err){
        if(err) return next(err);
    });

或者:

    User.findOne({id: req.params['id']})
    .exec(function foundUser(err, user){
        if(err) return next(err);
        if(!user) return next();
        res.view({
            user: user
        });
    });

快乐航行。

于 2014-10-14T03:38:33.993 回答