mongooseの使い方まとめ
随時更新予定
目次
クエリ
動的query
- ToDo
where
とexec
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)