Je travaille sur l'application node js et en utilisant Diskdb
comme base de données. Il donne erreur première fois comme suit:Erreur de fin inattendue d'entrée qui vient la première fois en utilisant DiskDB
undefined:0
^
SyntaxError: Unexpected end of input
Dans la documentation que j'ai trouvé la solution de ce que « s'il vous plaît assurez-vous qu'il contient un tableau JSON valide, sinon diskDB
retourne un tableau vide. » Alors quelqu'un peut-il me suggérer comment puis-je vérifier ce fichier contient le tableau json ou non?
Je collection chargement à l'aide
db.loadCollections(['users']);
var u = db.users.findOne();
console.log(u); // []
Comment puis-je vérifier [] existe ou non dans le fichier?
Une autre question est de savoir comment tester l'enregistrement existe ou non avec plusieurs conditions dans diskdb.
par exemple. en users.json contient
[{"email":"[email protected]","password":"123","status":"1","_id":"e39a62a9c7b94d76892f9c3bdfa22715"}]
et mon code à l'aide que je vérifie est la suivante:
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');
}
}
mais il ne me permet pas de se connecter.
Merci!
'db.users.find' renvoie le tableau, essayez' findOne' –