2017-04-25 5 views
0

내가 users.db 지금까지 데이터를 findOne 간단한 쿼리를 호출 오전입니다Electron Nedb findOne이 null을 반환합니까?

{"id":40, "is_admin":1,"name":"John Smith"}, 
{"id":43, "is_admin":1,"name":"Laura Smith"} 


// Users 
    var users = new Datastore({ filename: 'db/users.db' }); 
    var id_user = 43; 


    console.log("-------------geting users db"); 
    // 
    users.loadDatabase(function (err) { 

    console.log("------------- users db loaded--", id_user); 

    // find user by id 
    users.findOne({ id: id_user }, function (err, a,b,c) { 
     console.log(a,b,c); // displays null undefined undefined 
    }); 


    }); 

어떤 생각을 왜 null을 반환?

답변

0

findOne에서 전달되는 함수는 2 개의 매개 변수를 사용해야한다고 생각합니다. 첫 번째 매개 변수는 쿼리의 결과이며 두 번째 매개 변수는 문제가 발생하면 오류가 발생합니다. db에 일치 항목이 없으면 첫 번째 매개 변수는 Null이되고, 그렇지 않으면 일치하는 결과가 반환됩니다.

기능 (결과, 오류) {

} 그것은 당신이 내가 뭔가를 정의되지 않은 하나 개의 문서와 정의를 반환 내 응용 프로그램

db.findOne({ "c2cId":"292" }, function (err, a,b,c) { 
    console.log(a,b,c); 
}); 

에 코드를 테스트 프로토 타입을

0

를 작동 할 것이다. 당신이 findOne를 사용하는 경우 나는 널에 관한 두 개의 매개 변수 errdoc 가 당신은 너무 당신이 볼 수있는 doc at 보고, 첫 번째 문서를 찾으려면 추측 : 조회에 당신이 변수라는 ID를 사용하는 ? 또는 키입니다. 마지막으로 따옴표를 사용해야합니다 ....