【问题标题】:trying to send data to mongoDB from angular试图从角度向 mongoDB 发送数据
【发布时间】:2016-06-09 08:11:06
【问题描述】:

我正在尝试从角度将数据保存在 mongoDB 中。 我的数据从角度页面变成了 node.js 页面,并且我想将数据保存在 mongoDB 中。 我将要保存的数据发送到控制器。 和我的来自 localhost:8080/activities 的模式凸轮 谢谢,

我的角度是这样的:

 <html ng-app="addActivityApp">
     <body ng-controller="activityController">
     <h1 class="text-center">Add Activity</h1>
            <form class="form-group" ng-submit="createActivity()">
              <label for="inputEmail3" class="col-sm-2 control-label">Title:</label>
                <input class="form-control" type="text" placeholder="Title" ng-model="title"></input>
                <label for="inputEmail3" class="col-sm-2 control-label">Age:</label>
                <input class="form-control" id="inputEmail3" type="number" placeholder="Age" ng-model="age" min="0" max="16"></input>
                <label for="inputEmail3" class="col-sm-2 control-label">Description:</label>
                 <textarea class="form-control" id="inputEmail3" type="text" placeholder="Description" ng-model="description"></textarea>
                 <br>
                 <label for="inputEmail3" class="col-sm-2 control-label">Themes:</label>
                <input type="submit" class="btn btn-default" name="send"></input>
            </form> 
        <script src="js/lib/angular/angular.min.js"></script>
        <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.16/angular-resource.js"></script>
        <script src="js/addController.js"></script>
     </body>
     </html>

我的控制器看起来像这样:

var addActivityApp = angular.module('addActivityApp',[]);

var model = {};

addActivityApp.controller('activityController',function($scope) {
    $scope.addActivityApp = model;
});

addActivityApp.run(function($http) {
    $http.get("http://localhost:3000/activities").success(function(data){
addActivityApp.createActivity= function($scope){
    var activity = new Activity();
    activity.title = $scope.title;
    activity.age = $scope.age;
    activity.description = $scope.description;
    activity.theme = $scope.theme;
    activity.$save(function (result) {
      $scope.activities.push(result);
      $scope.title = '';
      $scope.age = '';
      $scope.description = '';
      $scope.theme = '';
            });
        }
    });
});

我读过它,但我不明白我做错了什么

localhost:3000/活动

var mongoose = require('mongoose');
var Activity = require('./activity');

exports.getData = function(req, res){
    Activity.find({},function(err, docs){
        console.log("docs "+docs);
        res.json(docs);
        return;
    });
}

【问题讨论】:

标签: javascript angularjs node.js mongodb


【解决方案1】:

不是 100% 确定 angularjs,但是有一个 nodejs 模块可以包含在你的项目中,用于 mongodb https://www.npmjs.com/package/mongodb

使用起来很简单:

var MongoClient = require('mongodb').MongoClient;
var assert      = require('assert');

/**
 * save array of json objects to mongodb
 * @param issues
 */
Mongo.saveToMongo = function (issues) {

    // Use connect method to connect to the Server
    MongoClient.connect(mongourl, function (err, db) {
        assert.equal(null, err);
        console.log("Connected successfully to Mongo");

        // Get the issues collection
        var collection = db.collection('issues');

        console.log("Inserting issues");

        // insert all issues retrieved
        collection.insertMany(issues, function (err, result) {
            assert.equal(err, null);
            console.log("Inserted new issues");
            db.close();
        });
    });
}

至少你可以用它来改造你自己的角度连接。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-07
    • 1970-01-01
    • 2020-09-17
    • 2018-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多