programing

일치하는 항목을 찾을 수 없는 Mongoose 쿼리에서 반환되는 항목은 무엇입니까?

goodsources 2023. 5. 11. 21:25
반응형

일치하는 항목을 찾을 수 없는 Mongoose 쿼리에서 반환되는 항목은 무엇입니까?

저는 몽구스 문서를 읽는 것이 조금 혼란스럽습니다.

컬렉션에 있는 문서와 일치하지 않는 mongoose에서 쿼리를 실행할 경우, 다음 값은 무엇입니까?err그리고.results콜백 기능에서callback(err, results)저는 몽구스가 무엇을 "오류"라고 생각하는지 모르겠습니다.수학자로서 빈 집합을 반환하는 것(즉,results배열이 비어 있음)는 완벽하게 유효한 것으로 보이며 "오류"가 아니어야 합니다. 쿼리가 정상적으로 실행되었으며 일치하는 문서가 없습니다.반면에, 어떤 사람들은 그것을 "오류"라고 생각할 수 있습니다.mongoose 문서에서 다음 중 하나를 수행합니다.

  1. errnull,results= []
  2. errnull,results무효의
  3. err오류 문서,results무효의

쿼리에 따라 다릅니다.만약 그것이find,그리고나서results == []만약 그것이findOne,그리고나서results == null다른 모든 것이 정상이면 오류가 없습니다.

조건은 유효하지만 일치하는 항목이 없는 경우:

  • find:err이라null,result이라[]

  • findOne그리고.findById:err이라null,result이라null

그러나 일부 조건이 유효하지 않은 경우(예: 필드가string하지만 당신은 통과합니다.object아니면 환자를 지나쳐 버립니다._id)

세 가지 모두에 대해:err이라{..},result이라undefined

사용하는 경우.find(),
편리한 방법은

models.<your collection name>.find({ _id: `your input` }).then(data => {
    if (data.length == 0) return // throw your error to the console;
});

언급URL : https://stackoverflow.com/questions/18214635/what-is-returned-from-mongoose-query-that-finds-no-matches

반응형