글 작성자: 망고좋아
반응형

🎯 Model.find- 에 대해서 알아보자

  • find에 대해서 알아보고 갑시다!

 

📝 Model.find()

Model.find(query, fields, options, callback)
// find all documents
await MyModel.find({});

// find all documents named john and at least 18
await MyModel.find({ name: 'john', age: { $gte: 18 } }).exec();

// executes, passing results to callback
MyModel.find({ name: 'john', age: { $gte: 18 }}, function (err, docs) {});

// executes, name LIKE john and only selecting the "name" and "friends" fields
await MyModel.find({ name: /john/i }, 'name friends').exec();

// passing options
await MyModel.find({ name: /john/i }, null, { skip: 10 }).exec();

 

📝 Model.findOne()

  • Model.find()와 거의 같지만, 오직 하나의 도큐먼트만이 두 번째 인자로 넘긴 콜백 함수의 doc 인자로 전달된다.
  • 이때 이 doc은 단 하나의 객체입니다. 다음 예제는 age가 5인 도큐먼트를 하나만 검색한다.
Model.findOne({age: 5}, function(err, doc){
            // 콜백 함수의 내용
});
// Find one adventure whose `country` is 'Croatia', otherwise `null`
await Adventure.findOne({ country: 'Croatia' }).exec();

// using callback
Adventure.findOne({ country: 'Croatia' }, function (err, adventure) {});

// select only the adventures name and length
await Adventure.findOne({ country: 'Croatia' }, 'name length').exec();

 

📝 Model.findById()

Model.findById(obj._id, function(err, doc) {
            // 콜백 함수의 내용
});
  • findOne({ _id: id })와 비슷하다.
  • 하나의 도큐먼트만 반환하지만 _id 키 값을 이용하여 검색한다.
// Find the adventure with the given `id`, or `null` if not found
await Adventure.findById(id).exec();

// using callback
Adventure.findById(id, function (err, adventure) {});

// select only the adventures name and length
await Adventure.findById(id, 'name length').exec();

 

📌 참고

반응형