我在我的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获取对象需要做什么?
答案 0 :(得分:0)
经过多次挖掘和查找后,Sails.js Attributes documentation有一个'objectid'类型,一旦我在我的Sails.js模型文件中设置它,该查找工作完美。
我最终得到了这个问题:
Case.findOne({id: args.itemId}).exec(function(err, item) { ... }
希望这有助于其他人!