Mongodb Daten aus Array auslesen
Habe folgendes Programm geschrieben um eine MongoDB auszulesen.
Als Ergebnis bekomme ich ein Array wie folgt:
[ { _id: d344352525...,
test_nr: '12345',
createtd: ....,
dat1: xyz,
dat2: 12344 } ]
[ { _id: d344352525...,
test_nr:' 12345',
createtd: ....,
dat1: xyz,
dat2: 12344 } ]
undefined;
Wie bekomme ich den Wert von dat1 aus der Datenbank in die Variable wert geschrieben?
Wenn ich den Code mit findOne schreibe, dann sieht das Ergebnis so aus:
[ _id: d344352525...,
test_nr:' 12345',
createtd: ....,
dat1: xyz,
dat2: 12344 ]
[ _id: d344352525...,
test_nr:' 12345',
createtd: ....,
dat1: xyz,
dat2: 12344 ]
xyz
Also ohne die geschweiften Klammern und damit so, wie das eigentlich brauche. Allerdings klappt dann die Rückwärtssuche nicht so richtig und ich brauche nur den letzten Tabelleneintrag.
Ihr habt sicherlich bemerkt, dass ich mich erst in die Sprache und diese Datenbank einarbeite, daher bin ich für jede Anmerkung zum Code, Ergebnis, usw sehr dankbar.
var mongoose = require('mongoose');
mongoose.Promise = global.Promise;
var uri = 'mongodb://test:xxyz@xxx.xxx.xxx.xxx/test_test';
var xspromise = mongoose.CreateConnection(uri,{
use MongoClient: true,
socketTimeOutMS: 0,
keepAlive: true,
reconnectTries: 30
});
xspromise.then(function(db){
db.collection('daten').find({test_nr:'12345'}).sort({_id: -1}).limit(1).toArray(function(err,result){
console.log(result);
var arr = ; //
arr = result.slice(0,1);
var wert = arr.dat1;
console.log(wert);
db.close;
});
Als Ergebnis bekomme ich ein Array wie folgt:
[ { _id: d344352525...,
test_nr: '12345',
createtd: ....,
dat1: xyz,
dat2: 12344 } ]
[ { _id: d344352525...,
test_nr:' 12345',
createtd: ....,
dat1: xyz,
dat2: 12344 } ]
undefined;
Wie bekomme ich den Wert von dat1 aus der Datenbank in die Variable wert geschrieben?
Wenn ich den Code mit findOne schreibe, dann sieht das Ergebnis so aus:
[ _id: d344352525...,
test_nr:' 12345',
createtd: ....,
dat1: xyz,
dat2: 12344 ]
[ _id: d344352525...,
test_nr:' 12345',
createtd: ....,
dat1: xyz,
dat2: 12344 ]
xyz
Also ohne die geschweiften Klammern und damit so, wie das eigentlich brauche. Allerdings klappt dann die Rückwärtssuche nicht so richtig und ich brauche nur den letzten Tabelleneintrag.
Ihr habt sicherlich bemerkt, dass ich mich erst in die Sprache und diese Datenbank einarbeite, daher bin ich für jede Anmerkung zum Code, Ergebnis, usw sehr dankbar.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 353325
Url: https://administrator.de/contentid/353325
Ausgedruckt am: 14.11.2024 um 21:11 Uhr
1 Kommentar
Wie bekomme ich den Wert von dat1 aus der Datenbank in die Variable wert geschrieben?
Nun, da du ein Array geliefert bekommst musst du den Arrayindex angebenvar wert = arr.dat1;
var wert = arr[arr.length -1].dat1;
var el = arr.slice(-1);
var wert = el.dat1;