Mar*_*lac 2 mongoose mongodb node.js
我是mongo和mongoose的新手,我想知道当我们有一个嵌入式数据模型时,我们如何添加,删除或编辑数据库中的对象如下:
var userSchema = mongoose.Schema({
local : {
email : String,
password : String,
},
houses : [
{
phone_numbers : [ {number: String} ],
adresse : String,
}
]
});
module.exports = mongoose.model('User', userSchema);
Run Code Online (Sandbox Code Playgroud)
例如,我想为我的用户添加一个新的"房子".
所以我尝试过:
User.findById(req.user.id, function(err, user){
user.houses.adresse = 'TEST';
user.save();
});
Run Code Online (Sandbox Code Playgroud)
但它似乎没有用,我没有找到如何在mongoose docs中做到这一点.关于如何实现这一目标的任何想法?
谢谢你的帮助 !
您可以将模型分开以便于阅读,并且您可以使用House模型添加子文档以供使用User;
user.js的
var House = require("House");
var userSchema = mongoose.Schema({
email : String,
password : String,
houses : [ House.schema ]
});
module.exports = mongoose.model('User', userSchema);
Run Code Online (Sandbox Code Playgroud)
House.js
var houseSchema = mongoose.Schema({
phone_numbers : [ String ],
adresse : String,
});
module.exports = mongoose.model('House', houseSchema);
Run Code Online (Sandbox Code Playgroud)
在你的控制器;
var User = require("models/User");
var House = require("models/House");
......
User.findById(req.user.id, function(err, user){
var houseModel = new House();
houseModel.adresse = "TEST";
user.houses.push(houseModel);
user.save();
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2886 次 |
| 最近记录: |