将几个参数POST到DB

时间:2014-01-19 09:06:25

标签: node.js mongodb angularjs

我需要将地点的名称和坐标写入mongo。

数据来自三个输入字段:

<input type="text" class="form-control" id="address" placeholder="Search" ng-model="placeData.text">
<input type="text" class="coords" id="lng" ng-model="placeData.lng">
<input type="text" class="coords" id="lat" ng-model="placeData.lat">

使用Angular进行处理:

$scope.createPlace = function() {
    $http.post('/api/places', $scope.placeData)
        .success(function(data) {
            $scope.places = data;
            console.log(data);
        })
        .error(function(data) {
            console.log('Error: ' + data);
        });
};

转到Node.js:

// define model =================
var Place = mongoose.model('Place', {
    text : String,
    lat: Number,
    lng: Number
});

// routes ======================================================================

// api ---------------------------------------------------------------------

// create place and send back all places after creation
app.post('/api/places', function(req, res) {

    // create a place, information comes from AJAX request from Angular
    Place.create({
        text : req.body.text,
        lat: req.body.lat,
        lng: req.body.lng,
        done : false
    }, function(err, place) {
        if (err)
            res.send(err);

        // get and return all the places after you create another
        Place.find(function(err, places) {
            if (err)
                res.send(err)
            res.json(places);
        });
    });

});

它有效,但问题是mongo只从第一个输入ng-model =“placeData.text”接收数据。我做错了什么?

0 个答案:

没有答案