मेरे पास ArangoDB में एक दस्तावेज़ संग्रह हैएकाधिक अद्वितीय इंडेक्स। एक नया दस्तावेज़ डालने पर, किसी भी अद्वितीय अनुक्रमणिका के कारण सम्मिलन विफल हो सकता है। क्या दस्तावेज़ में कौन से फ़ील्ड (ओं) को आसानी से पता लगाने का कोई तरीका है कि सम्मिलन विफल हो गया है?
उदाहरण के लिए, एक संग्रह लें जो उपयोगकर्ता डेटा संग्रहीत करता है। "उपयोगकर्ता नाम" और "ईमेल" दोनों फ़ील्ड पर अद्वितीय इंडेक्स का अर्थ है कि यदि कोई फ़ील्ड डुप्लिकेट किया गया है तो एक सम्मिलन विफल हो सकता है।
त्रुटि संदेश गैर-विशिष्ट हैं:
{
error: true,
errorMessage: "unique constraint violated (while executing)",
code: 409,
errorNum: 1210
}
इनपुट / अपडेट करने के लिए चारों ओर लंबा रास्ता होगाइन अनूठे क्षेत्रों को अलग-अलग पता करने के लिए अलग-अलग क्षेत्रों को अनूठा बाधा का उल्लंघन किया गया है। या दस्तावेजों को पुनः प्राप्त करने का प्रयास करें जो हमारे इनपुट मानों से मेल खाते हैं यह पहचानने के लिए कि क्या सम्मिलित करने से पहले टक्कर होगी या नहीं। मुझे बस एक भावना है कि एक आसान तरीका होना चाहिए।
त्रुटि के साथ फ़ील्ड नाम वापस करने का कोई तरीका है? या मैं पूरी तरह से गलत कोण से समस्या का सामना कर रहा हूँ?
वास्तव में किसी भी विचार या सुझाव की सराहना करेंगे। धन्यवाद।
उत्तर:
जवाब के लिए 0 № 1मुझे माफ कर दो, इसे प्राप्त करने के लिए वर्तमान में कोई स्मार्ट तरीका नहीं है। आज इसे संभालने का एकमात्र तरीका है, बाद में चयन करें FILTER
उन मानों के लिए जिन्हें आपने डालने का प्रयास किया था:
FOR doc IN collection
FILTER doc.firstindexed = "firstvalue"
OR doc.secondindexed = "secondvalue"
RETURN doc