MongooseのModelオブジェクトのメソッドはQueryを返すのかPromiseを返すのかいつも忘れてしまうので、まとめてみました。リンク先は公式APIドキュメントです。
Promiseを返す
- Model#remove([fn])
- Model#save([options], document, [fn])
- Model.create(doc(s), [fn])
- Model.geoNear(GeoJSON, options, [callback])
- Model.geoSearch(condition, options, [callback])
- Model.mapReduce(o, [callback])
- Model.populate(docs, options, [cb(err,doc)])
- Model.remove(conditions, [callback])
Queryを返す
- Model.count(conditions, [callback])
- Model.distinct(field, [conditions], [callback])
- Model.find(conditions, [projection], [options], [callback])
- Model.findById(id, [projection], [options], [callback])
- Model.findByIdAndRemove(id, [options], [callback])
- Model.findByIdAndUpdate(id, [update], [options], [callback])
- Model.findOne([conditions], [projection], [options], [callback])
- Model.findOneAndRemove(conditions, [options], [callback])
- Model.findOneAndUpdate([conditions], [update], [options], [callback])
- Model.update(conditions, doc, [options], [callback])
- Model.where(path, [val])