我遇到了使用nodeJS将数据插入mongoDB的问题。
这是我的server.js文件的一部分:
app.post('/users', function(req, res, next){
db.collection('users', function(err, usersCollection){
usersCollection.insert(req.body, {w : 1} , function(err){
return res.send();
});
});
});
这是我的index.html文件中的控制器:
app.controller('SLController', function ($scope, $http){
$scope.submitSignup = function(){
var newUser = {
username: $scope.username,
email: $scope.email,
password: $scope.password
};
$http.post('/users', newUser).then(function(){
alert('Success');
});
}
/*$scope.signin = function (){
$http.put('/users/signin', {username: $scope.username, password: $scope.password})
.then(function(){
alert("Successfully signed in.");
}, function(err){
alert("Bad login credentials.");
})
}*/
});
这是我试图从我的sl.html文件中插入的表单部分:
<h3 class="form-titles center-block">Sign Up</h3>
<input type="text" class="form-control form-subtitles" placeholder="Usuario" ng-model="username">
<input type="text" class="form-control form-subtitles" placeholder="E-mail" ng-model="email">
<input type="password" class="form-control form-subtitles" placeholder="Password" ng-model="password">
<input ng-click="submitSignup()" type="submit" class="form-control form-subtitles btn btn-info" value="Signup">
我看过其他问题但是他们的安静不同。
PS。我在mongo的控制台中使用的命令是db.users.find()
谢谢!
-------------------------------------------- ---------------编辑---------------------------------- ------------------------
我用来解决它的一个特殊解决方案:
app.post('/users', function(req, res, next){
db.collection('users', function(err, usersCollection){
usersCollection***.save***(req.body, {w : 1} , function(err){
return res.send();
});
});
});
INSTEAD OF .insert
使用.save
答案 0 :(得分:1)
这很简单,您可以通过它轻松地在数据库中创建记录。只需要两个参数就是电子邮件和名称。
router.all('/create', function (req, res) {
var database = req.Collection;
var name = req.body.name;// or you can do directly as 'shekhar'
var email = req.body.email;// or you can do directly as 'a@gmail.com'
var record = new database({
name: name,
email: email
});
if (record.length > 0) {
record.save(function (err, result) {
if (err) {
res.json({status: 0, message: err})
} else {
res.json({status: 1, name: name, email: email, message: " success"});
}
})
} else {
res.json({status: 0, msg: "Invalid Fields"});
}
});
答案 1 :(得分:0)
我用来解决它的一个特殊解决方案:
app.post('/users', function(req, res, next){
db.collection('users', function(err, usersCollection){
usersCollection***.save***(req.body, {w : 1} , function(err){
return res.send();
});
});
});
INSTEAD OF *.insert*
使用*.save*