私のバックボーン アプリは、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']);が、それはまさに私が避けたいことです!