$pullAll
ऑपरेटर वास्तव में एक "विशेष मामला" शॉर्टकट है जो उन सरणियों पर काम करता है जिनमें केवल मान होते हैं, जैसे कि आपका वैकल्पिक मामला।
आप वास्तव में क्या चाहते हैं $pull
और यह तर्क सरणी में निहित दस्तावेज़ों के लिए एक "क्वेरी" है। तो आपकी सूची $in
:
db.bios.update(
{ "name.first": "James" },
{
"$pull": {
"awards": { "by": { "$in": ["Stockholm", "Hollywood"] } }
}
}
)
तो आपके दूसरे उदाहरण में, $pullAll
. का एक लंबा रूप होगा:
db.bios.update(
{ "name.first": "James" },
{
"$pull": { "contribs": { "$in": ["Java","UNIX"] } }
}
)
वही बात लेकिन सिर्फ "लॉन्गहैंड" फॉर्म।