Also, ich habe folgende Objekte
var Sub = {
name: String,
};
var UserSchema = new mongoose.Schema({
name: String,
sub: Sub
});
module.exports = mongoose.model("User", UserSchema);
In der Datenbank habe ich folgendes:
db.users.find ({}). pretty (); { "_id": Objekt-ID ("xyz"), "Name": "John", "Unter": { "Name": "Untername" } }
Wenn ich nun nach einem Benutzer mit dem Namen "John" frage, wird das Unterdokument "sub" als Zeichenfolge abgerufen
typeof user s === "string"
Um die Abfrage auszuführen, verwende ich die User.findById-Methode
User.findById("xyz", function(err, user){
console.log(typeof user.sub);
})
Irgendwelche Hinweise, was hier vor sich geht?
Antworten:
0 für die Antwort № 1Wenn der Typ eines Felds nicht explizit definiert ist, gibt die interne Mungo-Validierung manchmal eine sanisierte Zeichenfolge zurück. Ich habe es gelöst, indem ich ein Schema in der Vergangenheit definiert habe.
var Sub = new mongoose.Schema({
name: String
});
var UserSchema = new mongoose.Schema({
name: String,
sub: [ Sub ]
});