如何在平均堆栈中使用猫鼬在 Mongodb 中存储值
Posted
技术标签:
【中文标题】如何在平均堆栈中使用猫鼬在 Mongodb 中存储值【英文标题】:how to store values in Mongodb using mongoose in MeanStack 【发布时间】:2017-08-20 05:20:23 【问题描述】:我在 mongoose 的帮助下使用 angularjs db ismongodb。我在 mongoose 模式中创建了一个简单的输入表单,但它显示了一个 $http.post(...).success 不是一个函数我不知道如何解决这个任何人帮助如何解决这个问题我是这项技术的新手
html代码
<!DOCTYPE html>
<html ng-app="App">
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.3/angular.min.js"></script>
<script src="Controller/MongooseCrud.js"></script>
</head>
<body >
<div ng-controller="MongooseController">
<label for="email">Email: </label>
<input type="email" name="email" ng-model="user.email" /><br />
<label for="name">Name: </label>
<input type="text" name="name" ng-model="user.name" /><br />
<label for="age">Age: </label>
<input type="number" name="age" ng-model="user.age"/><br />
<input type="Button" value="submit" ng-click="AddNewDetails()">
</div>
</body>
</html>
控制器
var app = angular.module("App", [ ]);
app.controller('MongooseController', ['$scope', '$http' ,'$window', '$filter',
function ($scope, $http, $window, $filter)
$scope.AddNewDetails = function ( )
$http.post('/AddNewDetails', $scope.user).success(function (response)
console.log((response));
).error(function (err)
);
;
]);
服务器.js
var express = require('express');
var app = express();
var mongoose = require('mongoose');
var Schema = mongoose.Schema();
var bodyParser = require('body-parser');
var http = require('http');
app.use(express.static(__dirname + "/public"));
app.use(bodyParser.json());
mongoose.connect('mongodb://localhost/crud');
var Schema = new mongoose.Schema(
_id: String,
name: String,
age: Number
);
var user = mongoose.model('emp', Schema);
app.post('/AddNewDetails', function (req, res)
console.log(req.body);
new user(
email: req.body.email,
name: req.body.name,
age: req.body.age
).save(function (err, doc)
if (err)
res.json(err);
else
console.log(doc);
res.send('Successfully inserted!');
);
);
app.listen(8082);
console.log("server running on port 8082");
【问题讨论】:
你没有在架构中定义email
【参考方案1】:
您使用的格式不正确。
$http服务https://docs.angularjs.org/api/ng/service/$http
这样工作 $http.get('url').then(successCallback, errorCallback);
【讨论】:
我改变了语法,现在错误消失了,但值没有存储在数据库中 好的,你能告诉我你在服务器上遇到了什么错误吗?【参考方案2】:使用服务...因为您必须将单词 post 更改为 create。它会给你最好的结果。
angular.module('yourApp').factory("yourService", function($http)
return
create : function(insertData)
return $http.post("http://localhost:yourHost/AddNewDetails/", insertData);
);
【讨论】:
以上是关于如何在平均堆栈中使用猫鼬在 Mongodb 中存储值的主要内容,如果未能解决你的问题,请参考以下文章