Sails.js Waterline sails-mongo findOne

时间:2016-05-24 20:28:15

标签: sails.js sails-mongo

我在我的Sails.js应用中使用了Waterline和sails-mongo适配器。我试图通过_id从我的MongoDB搜索中获取记录。这就是我尝试过的:

Case.findOne({id: args.itemId}).exec(function(err, retObj) {...}
Case.findOne({_id: args.itemId}).exec(function(err, retObj) {...}
Case.findOne({_id: { 'contains': args.itemId} }).exec(function(err, retObj) {...}
Case.findOne({_id: { 'like': '%' + args.itemId} }).exec(function(err, retObj) {...}

并且没有一个返回一个对象。我发现的唯一返回对象的是:

Case.findOne({_id: { '!': args.itemId} }).exec(function(err, retObj) {...}
我在this StackOverlow answer找到了

。但是......那是not运算符。因此,虽然它在集合中只有一条记录时起作用,但它并没有返回正确的对象。我不确定为什么当集合中有一个对象开始时它甚至可以工作。

使用sails-mongo通过ID获取对象需要做什么?

1 个答案:

答案 0 :(得分:0)

经过多次挖掘和查找后,Sails.js Attributes documentation有一个'objectid'类型,一旦我在我的Sails.js模型文件中设置它,该查找工作完美。

我最终得到了这个问题:

Case.findOne({id: args.itemId}).exec(function(err, item) { ... }

希望这有助于其他人!