कैसे आप के बारे में गहरी एक दस्तावेज़ (mongoid)एम्बेडेड संघों के साथ दीप क्लोन दस्तावेज़
मैं कुछ इस तरह की कोशिश की है क्लोनिंग जाने हैं MongoDB में;
original = Car.find(old_id)
@car = original.clone
@car._id = BSON::ObjectId.new
लेकिन मैं बाद में मूल्यों की समस्याओं अक्रमांकन मिलता है।
_id को छोड़कर मैं सभी दस्तावेज़ विशेषताओं के साथ गहरा क्लोन कैसे बना सकता हूं?
संपादित करें: ज़ैचरी के उदाहरण के बाद मुझे डुप्लीकेट दस्तावेज़ों के लिए कस्टम सीरियलाइजेशन क्लास के साथ कुछ समस्याएं मिलीं।
class OptionHash
include Mongoid::Fields::Serializable
# Convert the keys from Strings to Symbols
def deserialize(object)
object.symbolize_keys!
end
# Convert values into Booleans
def serialize(object)
object.each do |key, value|
object[key] = Boolean::MAPPINGS[value]
end
end
ऑब्जेक्ट डुप्लिकेट दस्तावेज़ों के लिए शून्य है। Car.find (old_id)। सामग्री वास्तव में कस्टम serialization के साथ फ़ील्ड शामिल नहीं है, वह क्यों है और मैं इसे कैसे शामिल कर सकता हूं?
क्या आप समस्याओं के बारे में अधिक विशिष्ट हो सकते हैं? – Barrie
बाद में आपको क्या समस्याएं हैं? –
मुझे लगता है कि समस्या यह है कि एम्बेडेड दस्तावेज़ की आईडी अद्यतन नहीं होती है। यानी मूल दस्तावेज़ में एम्बेडेड दस्तावेज़ों के आईडी के साथ विवाद। – Yeggeps