2016-05-05 5 views
1

私はデータベースとデータテーブルとしてmongoDBを使ってWebアプリケーションを構築しています。 私の問題は、レンダリング中にObjectIDをmongodbから取得する代わりに[オブジェクトオブジェクト]を取得したことです。MongoDB objectIDはデータテーブルレンダリングで[オブジェクトオブジェクト]になります

だから、HTMLでは、私はこのコードを持っている:私は、データを取得する方法

var t = $("#general-table-list").DataTable({ 
     sAjaxSource: "/AccountCategories/Get", 
     "bFilter": false, 
     "deferLoading": 0, 
     "columnDefs": [ 
     { 
      'targets': 2, 
      'searchable': false, 
      'orderable': true, 
      'className': 'dt-body-center', 
      'render': function (data, type, full, meta) { 
       return '<a href="/AccountCategories/Details/' + full.Id.toString() + '" class="btn btn-info"><span class="fa fa-edit"></span> Edit</a> '; 
      } 
     }], 
     "select": [ 
      { 
       "style" : "os", 
       "selector": "td:first-child" 
      } 
     ], 
     "columns": [ 
       { "data": null, "orderable": false }, 
       { "data": "Name", "orderable": false }, 
       { "data": "Action", "orderable": false } 
     ], 
     "order": [], 
    }) 

    t.on('order.dt search.dt', function() { 
     t.column(0, { search: 'applied', order: 'applied' }).nodes().each(function (cell, i) { 
      cell.innerHTML = i + 1; 
     }); 
    }).draw(); 

:以下

public JsonResult Get(DataTableParameters param) 
{ 
    var data = _helper.GetData(param); 
    return Json(data, JsonRequestBehavior.AllowGet); 
} 

はスクリーンショットです:

http://i117.photobucket.com/albums/o56/po_se_for/deep-code_zpslm86n7qi.png

これが何だったかでありますUIでレンダリング:

http://i117.photobucket.com/albums/o56/po_se_for/deep-code-html_zpsyp8dwjgb.png

どうすればこの問題を解決できますか?

[BsonId] 
public ObjectId Id { get; set; } 

へ:

[BsonId] 
[BsonRepresentation(BsonType.ObjectId)] 
public string Id { get; set; } 

答えて

1

感謝いずれかが

私はからの変更によってIdを をこの問題を解決するために管理

==== ==== UPDATEを支援しますIdは完全に解体された_bsonオブジェクトです(デバッガに表示されます)。あなたのサーバーがこのようにしてIdをシリアル化しているようです。サーバーには、これを修正できるようになっています。

これまでのように、サーバーが以前のようにIDをシリアライズしたことはありませんでした(とにかくとにかく)。より一般的には、Mongooseによって行われるように、シンプルな24文字の16進文字列ではなく、idオブジェクトが_bsonオブジェクトとして誤ってjsonifiedされることがあります。

とにかく、あなたのmongoインターフェイスには解決策があり、APIの結果を確認しています。

+0

私はすでにそれを修正することができた、詳細は投稿に追加されました。 :) – Gerry

関連する問題