반응형
MongoDB 노드는 결과를 처리하지 않는 방법을 찾으십니까?
나는 npm을 사용하고 있습니다.mongodb
노드가 있는 드라이버입니다.
있습니다
collection.findOne({query}, function(err, result) {
//do something
}
문제는 제가 아무런 결과가 없다는 것입니다.err
아직도null
내가 결과를 찾든 못 찾든쿼리에서 결과가 발견되지 않았는지 어떻게 알 수 있습니까?
저도 해봤어요.
info = collection.findOne(....
그런데 그.info
정당한undefined
(비동기적으로 보여서 어차피 갈 길은 아닌 것 같았어요...)
레코드를 찾을 수 없는 것은 오류 조건이 아니므로 찾을 수 있는 값이 없습니다.result
일치하는 문서는 항상 "진실"이므로 단순한 문서를 사용할 수 있습니다.if (result)
확인. 예:
collection.findOne({query}, function(err, result) {
if (err) { /* handle err */ }
if (result) {
// we have a result
} else {
// we don't
}
}
아래의 모든 답변은 구식입니다.findOne은 더 이상 사용되지 않습니다.사용을 제안하는 최신 2.1 문서
find(query).limit(1).next(function(err, doc){
// handle data
})
간단히 말해:
collection.findOne({query}, function(err, result) {
if (!result) {
// Resolve your query here
}
}
요즘 - 노드 8 이후 - 당신은 안에서 이것을 할 수 있습니다.async
함수:
async function func() {
try {
const result = await db.collection('xxx').findOne({query});
if (!result) {
// no result
} else {
// do something with result
}
} catch (err) {
// error occured
}
}
결과가 null이면 mongo가 쿼리와 일치하는 문서를 찾지 못했습니다.몽고 쉘에서 쿼리를 시도해 본 적이 있습니까?
collection.findOne({query}, function(err, result) {
if (err) { /* handle err */ }
if (result.length === 0) {
// we don't have result
}
}
언급URL : https://stackoverflow.com/questions/10551313/mongodb-node-findone-how-to-handle-no-results
반응형
'programing' 카테고리의 다른 글
PostgreSQL에서 트리거를 일시적으로 비활성화하려면 어떻게 해야 합니까? (0) | 2023.05.29 |
---|---|
저는 두 개의 수업을 "싸울" 수 있는 프로그램을 만들었습니다.어떤 이유에서든 C#이 항상 승리합니다.VB.NET에 무슨 문제가 있나요? (0) | 2023.05.29 |
VB의 새 줄 문자입니다.그물? (0) | 2023.05.29 |
C# - Windows 64비트에서 프로그램 파일(x86)을 가져오는 방법 (0) | 2023.05.29 |
대상 컴퓨터가 이를 적극적으로 거부하여 연결할 수 없습니다. (0) | 2023.05.29 |