私のバックボーン アプリは、MongoDB の上に構築された REST API と通信しているため、オブジェクトの「自然な」ID は実際にはMongoIDs
. JSON にシリアル化すると、次のようになります。
"_id":{"$id":"505099e998dee4db11000001"}
バックボーンのドキュメントid
には、バックボーン モデルの id 属性以外の名前を ( を使用して) 指定できると記載されていますがidAttribute
、MongoID の文字列表現はネストされているため、使用するだけidAttribute: '_id'
では JSON を直接使用することはできません。
サーバー側で属性を書き換える以外に、これを回避する方法はありますか?
アップデート:
これが私がサーバー側でやっていることです:
$m = new Mongo();
$posts = $m->mydatabase->posts->find();
$out = array();
foreach ($posts as $post) {
$out[] = $post;
}
echo json_encode($out);
私は何かをすることができることを知っています$post['id'] = (string) $post['_id']; unset($post['_id']);
が、それはまさに私が避けたいことです!