我开始使用Sails,我正在尝试实现RESTful Json API文档的创建和搜索。
我有这样的文件:
[ { "players": [ { "name": "jonathan" }, { "name": "nicolas" } ], "createdAt": "2013-11-05T12:35:41.578Z", "updatedAt": "2013-11-05T12:35:41.578Z", "id": "5278e61ddbc01cd206000003" }, { "players": [ { "name": "eddy" }, { "name": "jonathan" } ], "createdAt": "2013-11-05T12:37:52.526Z", "updatedAt": "2013-11-05T12:37:52.526Z", "id": "5278e6a0dbc01cd206000004" } ]
现在我想在POST Json请求中搜索一些文档,例如,有一个名为nicolas
的播放器。我不知道该怎么做。
我想到了这一点,但没有运气:
{ 'where':{ 'players.name':'nicolas' } }
顺便说一下,我正在使用sails-mongo适配器。
答案 0 :(得分:1)
我相信您正在寻找'模型和ORM'中的'Query Language'部分。部分SailsJS文档和Waterline文档的'Working with Queries'部分也可能有所帮助。
注意:不要让像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
});
});
快乐航行。