Quería intentar desarrollar mi propia base de datos con JS y Json. Desafortunadamente, me encuentro con problemas allí.
¿Cómo leo contenido específico del archivo Json? Busqué en Google y obtuve esto:
fs.readFile('./databases/' + dbName + ".json", (err, data) => { if (err) throw err; content = JSON.parse(data); console.log(content) });Pero luego solo obtengo esta salida
{ members: [ { Username: 'User-1', Password: 'lol' }, { Username: 'User-2', Password: 'lol' } ] } Process finished with exit code 0y no uno específico, por ejemplo, solo la contraseña del usuario-1 del archivo json:
{ "members": [ { "Username": "User-1", "Password": "lol" }, { "Username": "User-2", "Password": "lol" } ] }(Realmente solo quiero usar archivos json para este proyecto)
Gracias por ayudar :)
tu pregunta no tiene mucha informacion
fs.readFile("./databases/" + dbName + ".json", (err, data) => { if (err) throw err; var username = "User-1"; var password = "lol"; for (var i = 0; i < content.members.length; i++) { if ( content.members[i].Username == username && content.members[i].Password == password ) { console.log("Login Successful"); return true; } } console.log("Login Failed"); return false; });obtenga los campos de nombre de usuario y contraseña del lado del usuario y use el ciclo for para validar que los valores están en el archivo de la base de datos json
En cuanto al almacenamiento de datos en un objeto similar a JSON, ya existen bases de datos que ofrecen excelentes opciones de almacenamiento, por ejemplo, MongoDB o Firebase .
En cuanto a su problema, el código está funcionando correctamente, lo que busca es un filtro
fs.readFile('./databases/' + dbName + ".json", (err, data) => { if (err) throw err; const username = username; const password = password; //const username = "User-2"; //const password = "lol"; content = JSON.parse(data); console.log(content.members.filter(mem => { if (mem.Username === username && mem.Password === password) return mem} )); });Esto devolverá:
[ { Username: 'User-2', Password: 'lol' } ]Tendrá que incluir una forma de aceptar el nombre de usuario y la contraseña o cualquier otra variable de filtro que se le ocurra.