MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

दस्तावेज़ आदेश की अवहेलना करने के लिए MongoDB पुलऑल को कैसे बाध्य करें

$pullAll ऑपरेटर वास्तव में एक "विशेष मामला" है जो ज्यादातर एकल "स्केलर" सरणी तत्वों के लिए था, न कि उप-दस्तावेजों के लिए जिस तरह से आप इसका उपयोग कर रहे हैं।

इसके बजाय $pull इस्तेमाल करें जो प्रत्येक तत्व का निरीक्षण करेगा और एक $or दस्तावेज़ सूचियों के लिए शर्त:

db.streams.update(
    { "user": "user_name" },
    { "$pull": { "streams": { "$or": streamsB } }}
)

इस तरह इससे कोई फर्क नहीं पड़ता कि फ़ील्ड किस क्रम में हैं या वास्तव में वर्तमान $pullAll के रूप में "सटीक मिलान" की तलाश में हैं ऑपरेशन वास्तव में कर रहा है।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB कई सरणियों को खोल देता है

  2. AppEngine ऐप से MongoDB तक पहुंचना

  3. मोंगोडब बल्क राइट एरर

  4. मोंगो सरणी अद्यतन या एक प्रश्न में धक्का

  5. डेटा खोए बिना Mongoid में फ़ील्ड का प्रकार बदलें