Electron Nedb findOne返回空值?

Electron Nedb findOne返回空值?,electron,nedb,Electron,Nedb,我正在使用findOne调用一个简单查询,到目前为止,users.db中的数据是: {"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("------------

我正在使用findOne调用一个简单查询,到目前为止,users.db中的数据是:

{"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吗?

我认为在findOne中传递的函数应该包含两个参数。第一个参数将是查询结果和 第二个参数是出错时出错。如果数据库中没有匹配项,则第一个参数将为Null。否则,它将返回匹配结果

函数(结果、错误){

}
这将是你的函数原型

我在我的应用程序中测试了你的代码

db.findOne({ "c2cId":"292" }, function (err, a,b,c) {
  console.log(a,b,c); 
});
返回一张单据,未定义,未定义。 如果您使用
findOne
我想您只是想找到第一个文档,所以请查看 您可以看到只有两个参数
err
doc
关于空值:在查询中是否使用名为id的变量?还是关键,在最后一种情况下,你应该使用引号