【问题标题】:MongoDB array with AngularJS带有 AngularJS 的 MongoDB 数组
【发布时间】:2016-02-01 12:52:08
【问题描述】:

我正在尝试使用 AngularJS 的 $http 服务插入数据 MondoDB,但是其中一个变量和数组在集合中是什么,该怎么办?

名称:字符串。 作者:字符串。 通用:数组。 信息:字符串。

收藏:漫画。

db.mangas.insert({nome: 'toriko', autor:'test', genero:['Ação','Aventura'], info:'...'})

Server.Js,查找漫画。

app.get('/mangas', function(req, res){
  console.log('i receive a get request')
  db.mangas.find(function (err, mangas){
    console.log(mangas);
    res.json(mangas);
  });

});

Server.Js,插入漫画。

app.post('/mangas', function (req, res) {
  console.log(req.body);
  db.mangas.insert(req.body, function(err, doc) {
    res.json(doc);
  });
});

index.htmlng-click="addManga"

<tr>
  <td><input class="form-control"manga.nome></td>
  <td><input class="form-control"manga.autor></td>
  <td><input class="form-control"manga.genero></td>
  <td><input class="form-control"manga.info></td>
  <td><button class="btn btn-primary" ng-click="addManga()">Add manga</button></td> ----adiciona o metodo que se encontra no controller
</tr>

     <tr ng-repeat="manga in mangas">
       <td>{{manga.nome}}</td>
       <td>{{manga.autor}}</td>
       <td>{{manga.genero}}</td>
       <td>{{manga.info}}</td>
     </tr>

Controller.js

$http.get('/mangas').success(function(response) {
    console.log("eu recevi a data requisitada");
    $scope.mangas = response;
  });

  $scope.addManga = function() {
    console.log($scope.mangas);
    $http.post('/mangas', $scope.mangas).success(function(response) {
      console.log(response);

    })};

【问题讨论】:

  • 您的问题不清楚。你有什么问题?
  • 对不起,我不能用 $scope.addManga 插入值
  • 在 server.js 上,db.mangas.find 可以工作,但不能使用 db.mangas.insert,

标签: javascript arrays angularjs mongodb


【解决方案1】:

在 HTML 中:

你应该在html中使用ng-model来绑定控制器

喜欢:

<td><input class="form-control" ng-model="manga.nome"></td>

而不是

<td><input class="form-control"manga.nome></td>

在控制器中:

您应该使用$scope.manga 而不是$scope.mangas,因为您在html 输入字段中绑定了manga

$scope.manga = {};
$scope.addManga = function() {
    console.log($scope.manga);
    $http.post('/mangas', $scope.manga).success(function(response) {
      console.log(response);

})};

【讨论】:

  • 我可以怀疑吗?性别是数组,代码发送字符串,如何改进?
  • 我想做一个漫画阅读器,需要用猫鼬来定义布局,做一个好的网站吗?我有很多疑问,
  • 为什么性别是数组?它应该是字符串,但需要在 UI 中而不是 DB 中显示多个性别。没有必要使用 mongoose,但如果你使用 mongoose,那么你可以轻松管理代码,并且代码可读性更强。
  • 我的意思是,性别,因为它会有类别,例如:动作,冒险,所以将有助于按类别搜索,性别在葡萄牙语中是通用的。
  • 嗯,一个解决方案可以,添加另一个按钮和功能来推动性别。喜欢:$scope.addGender = function(){ $scope.genders.push($scope.gender);}; 并在 $scope.addManga 函数中分配这些性别 $scope.manga.genders = $scope.genders;
猜你喜欢
  • 2018-08-12
  • 2017-02-09
  • 2014-11-04
  • 1970-01-01
  • 1970-01-01
  • 2012-11-21
  • 1970-01-01
  • 1970-01-01
  • 2016-08-25
相关资源
最近更新 更多