बहुत सारे भ्रम और आत्मा की खोज के बाद, मैं अंततः पाइथन में अनियंत्रित होने (कम से कम 3.6 से पहले) और मोंगोडीबी में ऑर्डर किए गए बीएसओएन शब्दकोश की अपेक्षा करने के लिए इसे ट्रैक करने में सक्षम था।
आर्डर कैसे प्राप्त करें पाइमोंगो में शब्दकोश? इसे हल करें:
>>> from collections import OrderedDict
>>> client.admin.command(
OrderedDict([('renameCollection','db1.coll2'), ('to','db2.coll2')]))
{u'ok': 1.0}
एक अन्य विकल्प SON
. का उपयोग करना है बीएसओएन से वस्तु।
>>> import bson
>>> client.admin.command(
bson.son.SON([('renameCollection','db1.coll2'), ('to','db2.coll2')]))
{u'ok': 1.0}
एक और तरीका है eval()
. का उपयोग करके जावास्क्रिप्ट को MongoDB में पास करना समारोह:
>>> client.admin.eval(
"db.runCommand({'renameCollection':'db1.coll2', 'to':'db2.coll2'})")
{u'ok': 1.0}
मुझे कच्चा जावास्क्रिप्ट संस्करण कम पाइथोनिक लगता है, लेकिन यह उपयोगी है क्योंकि इसने मुझे MongoDB शेल को फायर किए बिना MongoDB कार्यक्षमता का परीक्षण करने की अनुमति दी। मैंने इसे PyMongo StackOverflow प्रश्नों पर बहुत अधिक उल्लेखित नहीं देखा है, इसलिए सोचा कि यह यहाँ शामिल करने लायक है।