Javascript angularjs未发布到数据库

Javascript angularjs未发布到数据库,javascript,angularjs,node.js,Javascript,Angularjs,Node.js,我有一个平均的应用程序设置,但是,我的一个模型不起作用。由于某种原因,我无法发布到我的数据库。请在下面查看我的代码: 模式 var GroupSchema = Schema({ name : String, posts : [{type: Schema.Types.ObjectId, ref: "Post"}], user : {type:String, ref:"User" }, created : {type:Date, default:

我有一个平均的应用程序设置,但是,我的一个模型不起作用。由于某种原因,我无法发布到我的数据库。请在下面查看我的代码:

模式

var GroupSchema = Schema({
    name    : String, 
    posts   : [{type: Schema.Types.ObjectId, ref: "Post"}], 
    user    : {type:String, ref:"User" },
    created : {type:Date, default: Date.now}
});

module.exports = mongoose.model('Group', GroupSchema);
服务器(部分)

控制器(部分)

查看(部分)


新组
添加组

当我单击添加组时,我没有得到任何错误,但是,我的两个ng模型用户名和名称没有通过。当我使用$scope.group.\u id、$scope.group.user和$scope.group.name从控制器返回console.log时,它们都未定义

有人能看出我做错了什么吗


先谢谢你

我对您的代码的观察如下-

  • 最初,当您调用refreshGroup()时,它会将$scope.group设置为空字符串,这会使group.user和group.name的HTML部分未定义

  • 单击addgroup之后,返回的是相同的未定义值,现在将相同的未定义值传递给API,循环将重复

  • 根据我的理解,不要将$scope.group设置为空字符串,而只是将其替换为服务器数据,例如$scope.group=response

    另外,在使用$scope变量之前,最好先用它们的默认值初始化它们

    router.route('/groups')
        .post(function(req, res) {
            var group = new Group();
            group.name = req.body.name;
            group.user = req.body.user;
            group.save(function(err) {
                if (err) 
                   res.send(err);
    
                res.json({ message: 'group created!' });
            });
        }) 
        .get(function(req, res) {
            var current_user = req.user;
            console.log("req: " + req)
    
            Group.find({ user: current_user._id }).exec(function(err, groups) {
              if (err) throw err;
    
              // show the admins in the past month
              console.log(groups);
               res.json(groups);
               console.log("current user:" + current_user);
            });
        });
    
    myApp.controller('sideNav', function ($http, $scope, $timeout, $mdSidenav, $log) {
        var refreshGroup = function(){
            $http.get('/api/groups').success(function(response) {
                console.log('I got the group data! :D');
                $scope.groups = response;
                $scope.group = "";
            });
        }
        refreshGroup();
    
        $scope.addGroup = function() {
            //$scope.post.url = parenturl;
            console.log($scope.group._id);
    
            $http.post('/api/groups', $scope.group).success(function(response){
                refreshGroup();
            });
    
        };
      });
    
    <div id="creategroup" ng-show="showAddGroup">
    <input id="new-group-user" style="display:none !important;" class="hidden form-control" ng-model="group.user" ng-init="group.user='<%= user._id %>'" placeholder="{{group.user}}" value="{{group.user}}">
    <md-input-container>
        <label for="input_1">New Group</label>
        <input id="newGroup input_1" style="display:inline !important;" class="ng-pristine form-control" ng-model="group.name" />
    </md-input-container>
    <md-button style="display:inline !important;" id="theGroupButton" class=" hidden btn btn-primary" ng-click="addGroup()">Add Group</md-button>