2016-05-24 3 views
0

私はSails.jsアプリでSails-mongoアダプターを使ってWaterlineを使用しています。 _idで検索している私のMongoDBからレコードを取得しようとしています。これは私が試したことです:Sails.js Waterline sails-mongo findOne

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) {...} 

これらのどれもがオブジェクトを返しません。オブジェクトを返す私が見つけた唯一のものは、次のとおりです。私はthis StackOverlow answerで見つかった

Case.findOne({_id: { '!': args.itemId} }).exec(function(err, retObj) {...} 

。しかし...それはnot演算子です。それでコレクションに1つのレコードしかないときにはうまくいきましたが、正しいオブジェクトが返されません。私が最初にコレクションに1つのオブジェクトがあったときに、なぜそれが全く機能しなかったのか分かりません。

sails-mongoでIDでオブジェクトを取得するには、何が必要ですか?

答えて

0

さらに掘り下げて見ると、Sails.js Attributes documentationには「objectid」タイプがあり、それをSails.jsモデルファイルに設定すると完全に機能します。

私はこのクエリになってしまった:

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

が、これは他の人の役に立てば幸い!

関連する問題