Takže mám nasledujúce predmety
var Sub = {
name: String,
};
var UserSchema = new mongoose.Schema({
name: String,
sub: Sub
});
module.exports = mongoose.model("User", UserSchema);
V databáze mám nasledovné:
db.users.find ({}) dost (). { "_id": ObjectId ("xyz"), "meno": "John", "sub": { "name": "Sub-Name" } }
Teraz, keď žiadam užívateľa s menom "John", sub-dokument "sub" sa načíta ako reťazec
typeof user.sub === "reťazec"
Ak chcete vykonať dotaz, používam metódu User.findById
User.findById("xyz", function(err, user){
console.log(typeof user.sub);
})
Akékoľvek dôkazy, čo sa tu deje?
odpovede:
0 pre odpoveď č. 1Ak typ poľa nie je definovaný explicitne, vnútorné validovanie Mongoose vráti niekedy sanatized string. Vyriešil som to definovaním schémy v minulosti.
var Sub = new mongoose.Schema({
name: String
});
var UserSchema = new mongoose.Schema({
name: String,
sub: [ Sub ]
});