MongoDB 插入无效
MongoDB insertion not working
我是MongoDb的新手,我有一个关于数据插入的问题。 'user' 集合的我的 Mongoose 模式:
var user = new mongoose.Schema({
username : {type: String},
email : {type: String,index: {unique: true}},
password : {type: String},
feed : [{
title : {type: String},
description : {type: String},
latitude : {type:Number},
longitude : {type:Number},
feedImages : [{imageUrl: {type: String}}]
}]
});
在这里,我在第一次服务调用中向用户名、电子邮件和密码插入了数据:
app.post('/users',function(req,res) {
var username = req.body.username;
var email = req.body.email;
var password = req.body.password;
var userData = {'username':username,'email':email,'password':password};
new db.user(userData).save(function(err,result){
if (err) {
res.json({"success": '0', "message": "Error adding data"});
}
else {
res.json({"success": '1', "message": "Data added"});
}
});
});
然后我尝试插入数据以供上述 id 使用。
app.post('/feeds',function(req,res) {
var _id = req.body._id;
var title = req.body.title;
var description = req.body.description;
var latitude = req.body.latitude;
var longitude = req.body.longitude;
db.user.update(
{_id:_id },
{$push : {
feeds:[{
title: title,
description: description,
latitude:latitude,
longitude:longitude
}]
}
}
,function (err,result) {
console.log(err);
if (err) {
res.json({"success": '0', "message": "Error adding data"});
}
else {
res.json({"success": '1', "message": "Data added"});
}
});
});
没有显示错误,但没有发生数据插入。
您的经纬度应转换为数字:
var latitude = Number(req.body.latitude);
var longitude = Number(req.body.longitude);
我是MongoDb的新手,我有一个关于数据插入的问题。 'user' 集合的我的 Mongoose 模式:
var user = new mongoose.Schema({
username : {type: String},
email : {type: String,index: {unique: true}},
password : {type: String},
feed : [{
title : {type: String},
description : {type: String},
latitude : {type:Number},
longitude : {type:Number},
feedImages : [{imageUrl: {type: String}}]
}]
});
在这里,我在第一次服务调用中向用户名、电子邮件和密码插入了数据:
app.post('/users',function(req,res) {
var username = req.body.username;
var email = req.body.email;
var password = req.body.password;
var userData = {'username':username,'email':email,'password':password};
new db.user(userData).save(function(err,result){
if (err) {
res.json({"success": '0', "message": "Error adding data"});
}
else {
res.json({"success": '1', "message": "Data added"});
}
});
});
然后我尝试插入数据以供上述 id 使用。
app.post('/feeds',function(req,res) {
var _id = req.body._id;
var title = req.body.title;
var description = req.body.description;
var latitude = req.body.latitude;
var longitude = req.body.longitude;
db.user.update(
{_id:_id },
{$push : {
feeds:[{
title: title,
description: description,
latitude:latitude,
longitude:longitude
}]
}
}
,function (err,result) {
console.log(err);
if (err) {
res.json({"success": '0', "message": "Error adding data"});
}
else {
res.json({"success": '1', "message": "Data added"});
}
});
});
没有显示错误,但没有发生数据插入。
您的经纬度应转换为数字:
var latitude = Number(req.body.latitude);
var longitude = Number(req.body.longitude);