mongooseの使い方まとめ

随時更新予定

目次


クエリ


動的query

  • ToDo

whereexec

var query;
if(screen_name) {
  query = query.where({ screen_name: screen_name });
} else if(user_id) {
  query = query.where({ user_id: user_id });
}
query.exec(function(err, data) {
  console.log(data);
});

要素数のカウント

query.countで要素数をカウントできる.limitとskipは無視される.

query.find(function(err, count) {
  console.log(count);
});

_id


uniqueで配列じゃなければなんでも使える

var User = new Schema({ _id: Number, screen_name: String });

埋め込みオブジェクトも使える

var Good = new Schema({ _id: { from: Number, to: Number }});

_idを明示的に定義しなかったら,ObjectIdという12byteの型で定義される. ObjectIdには4byteのタイムスタンプが含まれるのでcreated_atを定義する必要は無い.

var Id = new Schema({ text: String });
mongoose.model('Id', Id);
Id = mongoose.model('Id');
var id = new Id({ text: 'hoge' });
console.log(id._id);
console.log(id._id.getTimestamp());

結果

5073865056f6147bb1000001
Tue Oct 09 2012 11:05:04 GMT+0900 (JST)