0

mongodb データベースを公開して ng-admin に接続する REST API を取得しようとしています。オブジェクトから文字列に変換すると、インターフェイスで _id を確認できます。

具体的には、embedded_list フィールド タイプを使用してサブ ラベルを表示する際に問題が発生しています。ドキュメントに従っていますが、エラーが発生します

TypeError: t.map は関数ではありません

Function.i.value ( http://172.28.128.3/bower_components/ng-admin/build/ng-admin.min.js:1:5980 ) [切り捨てられた...]

ae ( http://172.28.128.3/bower_components/ng-admin/build/ng-admin.min.js:23:3751 )

<ma-embedded-list-column field="::field" value="::value" datastore="::datastore" class="ng-scope ng-isolate-scope">

私の ng_admin 設定は次のようになります

var myApp = angular.module('myApp', ['ng-admin']);
myApp.config(['NgAdminConfigurationProvider', function (nga) {
    // create an admin application
    var admin = nga.application('Keyword admin')
      .baseApiUrl('http://172.28.128.3/dictionary/'); // main API endpoint

    var keyword = nga.entity('keyword');
    // set the fields of the user entity list view
    keyword.listView().fields([
        nga.field('_id'),
        nga.field('labels', 'embedded_list') // Define a 1-N relationship with the (embedded) comment entity
        .targetFields([ // which comment fields to display in the datagrid / form
            //nga.field('sport'),
            nga.field('project'),
            nga.field('label')
        ])
    ]);

    //keyword.identifier(nga.field('_id.$id'));
    keyword.identifier(nga.field('_id'));

    admin.addEntity(keyword)
    nga.configure(admin);
}]);

私のAPIからの出力は次のようになります(url /dictionary/keyword/56dd780e1163cf0d008b4568)

{
  "_id": {
    "$id": "56dd780e1163cf0d008b4568"
  },
  "labels": [
    {
      "label": "the pyramid front left",
      "project": "core"
    }
  ],
  "_links": {
    "self": {
      "href": "http://172.28.128.3/dictionary/keyword/56dd780e1163cf0d008b4568"
     }
  } 
}
4

1 に答える 1

0

ここでの問題は、$labels が配列ではないことです。mongodb 集計関数で $unwind を実行し、データを返す前にそれを元に戻しませんでした。

于 2016-03-09T11:13:00.017 に答える