私はノードjsアプリケーションで作業しており、Diskdb
をデータベースとして使用しています。次のようにそれは非常に最初の時間にエラーを与える:DiskDBを使用して初めて非常に誤った入力エラーが発生する
undefined:0
^
SyntaxError: Unexpected end of input
「そうdiskDB
は空の配列を返します、それが有効なJSONの配列が含まれていることを確認してください。」どのように私はこのファイルがjson配列を含んでいるかどうかをチェックできますか?
私はどのようにして、[]ファイル内に存在するかを確認することができます
db.loadCollections(['users']);
var u = db.users.findOne();
console.log(u); // []
を使用して、コレクションをロードするのですか?
diskdbに複数の条件でレコードが存在するかどうかをテストする方法がもう1つあります。
users.jsonに私がチェックしていた使用
[{"email":"[email protected]","password":"123","status":"1","_id":"e39a62a9c7b94d76892f9c3bdfa22715"}]
と私のコードが含まれている次のとおりです。
db.loadCollections(['users']);
var preCheck = db.users.find({"email" : req.body.email,"password" : req.body.password});
if(preCheck !== undefined){
if((preCheck.email == req.body.email) && (preCheck.password == req.body.password)){
//logged in
req.session.email = req.body.email;
req.session.userId = preCheck._id;
req.flash('success','Successful Login');
res.redirect('/option');
}
else{
req.flash('error','Email Id or Password is Incorrect');
res.redirect('/login');
}
}
私がログインすることはできません。
ありがとうございます!
'db.users.find'は配列を返します、' findOne'を試してください –