2015-04-23 9 views
11

में थोक खाली है या नहीं, यह जांचने का कोई तरीका है कि क्या मोंगोड बल्क को कॉल करने से पहले कुछ निष्पादन करना है ?execute()? मैं बहुत यकीन है कि मैं सम्मिलित लेकिन एक दस्तावेज़जांचें कि क्या मोंगो डीबी

Invalid Operation, No operations in bulk 

यहाँ पर यह त्रुटि मिलती रहती के लिए किसी भी खाली वस्तुओं न भेजें हूँ कुछ कोड है:

bulk.find({"AcctSessionId":insert['AcctSessionId']}).upsert().update({$set:insert}); 

और सम्मिलित वस्तु इस

तरह लग रहा है
{ AcctStatusTypeU: '3', 
    AcctSessionId: '1183628512-105130252', 
    h323setuptimeU: '<sip:[email protected]>', 
    h323connecttimeU: Sun Mar 08 2015 19:30:37 GMT+0100 (CET), 
    AcmeSessionEgressRealmU: '620', 
    AcmeSessionIngressRealmU: 'CORE_PSX' 
} 

मैं अपनी वस्तुओं को सम्मिलित करता हूं लेकिन फिर भी यह त्रुटि प्राप्त करता है। वैसे यह एक नोडज ड्राइवर है जिसके बारे में मैं बात कर रहा हूं और मैं दस्तावेजों को सम्मिलित करने के लिए यूएनॉर्डर्डबल्क ओपी का उपयोग कर रहा हूं।

+0

चेक मुझे लगता है कि वहाँ इस चेक ... – vodich

उत्तर

0

आप आसानी से एक थोक आपरेशन मौसम की जांच कर सकते निष्पादित करने के लिए कार्य किया है:

bulk 

रिटर्न कुछ इस

{ "nInsertOps" : 0, "nUpdateOps" : 1, "nRemoveOps" : 0, "nBatches" : 1 } 

कारण की तरह क्यों अपने बल्क ऑपरेशन वास्तव में रिक्त है है क्योंकि आपके h323connecttimeU एक रखती है अवैध मूल्य - आपको दिनांक स्ट्रिंग को उद्धृत करने की आवश्यकता है।

इसके अलावा, आप गलत तरीके से थोक ऑपरेशन का उपयोग कर रहे हैं। यह

bulk.find({"AcctSessionId":insert['AcctSessionId']}).upsert().updateOne(insert); 
+0

नहीं करने के लिए कोई तरीका है, तारीख मैं सिर्फ यह की नकल की है, लेकिन यह नई तिथि ("दिनांक स्ट्रिंग") की तरह instantiated है ठीक है, यकीन नहीं अपरिपक्व भाग के बारे में, क्योंकि यह इस तरह ठीक काम करता है, परीक्षण करेगा। आप कोड में "थोक" का उपयोग कैसे करते हैं। मेरा अनुमान है कि आप इसका इस्तेमाल कंसोल में लिखते हैं जैसे सही है? – vodich

+0

@ वोडिच सही, क्योंकि यह मोंगोडीबी [लिंगुआ फ्रैंका] है (https://en.wikipedia.org/wiki/Lingua_franca)। और आपको अपना 'डालने' दस्तावेज़ सेट करने की आवश्यकता नहीं है, आपको केवल अलग-अलग फ़ील्ड सेट करने की आवश्यकता है। –

7

मुझे एक ही समस्या में भागना चाहिए। bulk.length

if (bulk.length > 0) { 
    // run bulk operations 
} 
संबंधित मुद्दे