mongooseでsortをする

February 1, 2012,
tags: mongoose node.js


このエントリーをはてなブックマークに追加

なんかmongooseでsortしたいなーって時にどうしていいかわからないので調べてみました。
mongoose@2.4.8でのお話です。

find().sort()とかって書いてある記事もいくつか見ましたが、どうもうまくいかない。
こんな感じでエラーが帰ってきました。

Word.find().sort([['created','ascending']]).each(function(doc){
    console.log(doc);
  });

上の内容を実行すると以下のエラーメッセージが…

[Error: Illegal sort clause, must be of the form [['field1', '(ascending|descending)'], ['field2', '(ascending|descending)']]]

ちゃんと指定しているはずなんだけどなぁ。。この辺の原因分かる方は教えてくれると助かります。

で、結局以下の通りにやったらうまくうごきましたとさ。

Word.find({},['word','created'],{sort:{created: -1},limit:30},function(err,obj){
    res.send(JSON.stringify(obj));
  });

nodejsとかmongooseとかまだまだ使い慣れていません。。。。
もっと遊び倒さなきゃいけないなぁーと実感しました。

ちなみに弊社では一緒に楽しんで開発できる仲間を募集しています。
興味のある方は是非是非
絶賛求人募集中

comments powered by Disqus