Mein entsprechenden Code wird in drei Dateien aufgeteilt:Wie übergebe ich Daten mit Mongoose an eine globale Variable?
user.server.model.js:
var UserSchema = new Schema({
...
devices: []
});
mongoose.model('User', UserSchema);
users.server.controller.js:
var User = require('mongoose').model('User')
var devices = 123;
exports.getDevices = function(req, res, next) {
User.findOne({
_id: req.user.id
},
function(err, user) {
if (err) {
return next(err);
}
else {
devices = req.user.devices;
res.json(devices)
}
}
)
}
exports.devices = devices;
index.server.controller Js:
var users = require('../../app/controllers/users.server.controller')
exports.render = function(req, res) {
res.render('index', {
title: 'MEAN MVC',
user: req.user ? req.user.name: '',
device: users.devices
});
};
ich node.js verwende, Mungo, mongodb, Express, emb eddedjs.
Was ich tun muss ist, um die Geräte-Array und übergeben Sie es auf die eine oder andere Weise auf meiner Indexseite wo kann ich dann dort mit ejs behandeln. Da ich keine Erfahrung mit JavaScript habe, habe ich keine klare Lösung gefunden. Daher habe ich beschlossen, die Daten an eine globale Variable "Geräte" zu übergeben und sie dann an den Indexseiten-Controller zu übergeben.
nun das Problem, das ich bin vor, dass getDevices Funktion ‚Geräte‘ nicht die globale Variable ändern. Was ich sicher weiß, ist, dass res.json (Geräte) gibt ein korrektes Ergebnis Geräte Array in Plain JSON und dass der Standardwert (123) der globalen Variablen 'Geräte' ist zu meinem übergeben Indexseite Controller und in der Seite gerendert.
Jeder andere Vorschlag, wie mein Bedürfnis gelöst werden sollte, wird sehr geschätzt.
Vielen Dank.
@NeymusLastneymus '{Objekt Objekt}' erhalten Sie, wenn Sie versuchen, ein Objekt in eine Zeichenfolge zu konvertieren. 'users.devices' ist ein JavaScript-Objekt, nicht JSON. Wenn du meinst, dass du es in * JSON konvertieren willst, kannst du 'JSON.stringify' verwenden. Allerdings sollte das für 'res.json()' nicht nötig sein - das erledigt das schon für Sie. –
Vielen Dank. –