मेरा बैकबोन ऐप मोंगोडीबी के शीर्ष पर बने एक आरईएसटी एपीआई के साथ संचार कर रहा है, इसलिए मेरी ऑब्जेक्ट्स 'प्राकृतिक "आईडी वास्तव में MongoIDs
हैं। जब JSON में श्रृंखलाबद्ध, वे की तरह लग रहे:बैकबोन और मोंगोडीबी के आईडी कैसे काम करते हैं?
"_id":{"$id":"505099e998dee4db11000001"}
Backbone documentation कहा गया है कि आप अपनी रीढ़ मॉडल की आईडी गुण के लिए id
(idAttribute
का प्रयोग करके) की तुलना में एक और नाम निर्दिष्ट कर सकते हैं, हालांकि, के रूप में MongoIDs 'स्ट्रिंग अभ्यावेदन नेस्टेड रहते हैं, बस का उपयोग कर idAttribute: '_id'
सीधे जेएसओएन उपभोग करने में मदद नहीं करता है।
क्या सर्वर के पक्ष में पुनः लिखने वाले गुणों के अलावा, इसके आसपास कोई तरीका है?
अद्यतन:
यहाँ मैं सर्वर साइड क्या कर रहा है:
$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']);
की तरह कुछ कर सकता है, लेकिन यह ठीक है कि मैं क्या से बचने के लिए देख रहा हूँ है!
वे कैसे घोंसले हैं? –
@AronWoost '" _id ": {" $ id ":" 505099e998dee4db11000001 "}' (JSONDB से ऑब्जेक्ट जेएसओएन एन्कोडिंग) –
आपका आरईएसटी एपीआई क्या है? क्लाइंट को भेजने से पहले आप इसे सरल रूप से बदल सकते हैं और ऑब्जेक्टिड कैसे बदल सकते हैं। –