我对node和mongo相当新,并且有关于更新mongodb对象的问题。任何建议,将不胜感激。我有一个需要注册的基本应用程序。登记表工作正常。用户根据我设置的架构保存在mongo中。我希望用户的一部分能够根据需要修改现有用户。我编写了删除用户的逻辑,并使用客户端jquery调用服务器端路由来翻转一些布尔值。那些工作没有问题。我还想授予修改某些字段的能力,即纠正拼写错误的名称。
以下是用户单击按钮时更改其中一个布尔值的逻辑: JQuery的:
$('button.approveuser').click(function(e) {
let id=$(this).parent().data('userid');
$.post("/profile/approveuser", {id: id}, function(data, status){
console.log(data);
})
});
节点路线:
app.post("/profile/approveuser", isLoggedIn, function(req, res) {
console.log(req.body);
User.update({_id: req.body.id}, {$set: {active:true}},
function(error, doc){
console.log(doc, error, " updated");
res.json({success:true});
});
});
我正在处理按下按钮时显示某个字段以进行修改所需的逻辑,然后在用户保存对这些字段的更改时相应地更新mongodb。例如,如果这是Mongo架构:
var userSchema = mongoose.Schema({
firstname: String,
lastname: String,
admin: String,
active: {
type: Boolean,
default: false
},
如果可以修改该_id的点击,名字和姓氏作为可修改的可编辑字段?
任何建议将不胜感激。谢谢你的帮助。
答案 0 :(得分:0)
您可以在用户注册后创建单独的表单来编辑个人资料。以及编辑个人资料的单独路线。
节点路线看起来像
app.post("/profile/approveuser", isLoggedIn, function(req, res) {
console.log(req.body);
User.update({_id: req.body.id}, {$set: {"firstname":"abcd"}},
function(error, doc){
console.log(doc, error, " updated");
res.json({success:true});
});
});