वहाँ सुंदर प्रिंट उत्पादन करने के लिए Mongo बताने का एक तरीका है? वर्तमान में, सब कुछ एक पंक्ति में आउटपुट है और इसे पढ़ना मुश्किल है, विशेष रूप से नेस्टेड सरणियों और दस्तावेजों के साथ।
वहाँ सुंदर प्रिंट उत्पादन करने के लिए Mongo बताने का एक तरीका है? वर्तमान में, सब कुछ एक पंक्ति में आउटपुट है और इसे पढ़ना मुश्किल है, विशेष रूप से नेस्टेड सरणियों और दस्तावेजों के साथ।
जवाबों:
( नोट: यह प्रश्न के मूल संस्करण का उत्तर है, जिसमें "डिफ़ॉल्ट" के लिए आवश्यकताएं नहीं थीं )
आप इसे सुंदर होने के लिए कह सकते हैं।
db.collection.find().pretty()
आप जोड़ सकते हो
DBQuery.prototype._prettyShell = true
$HOME/.mongorc.js
डिफ़ॉल्ट रूप से विश्व स्तर पर सुंदर प्रिंट को सक्षम करने के लिए आपकी फ़ाइल में ।
$HOME/.mongorc.js
: gist.github.com/mathrawka/6239405 फिर आप इसे सुंदर प्रिंट के बिना प्राप्त करने के लिए db.users.find () (बदसूरत) जैसे कुछ कर सकते हैं।
mongo --checkConf 'pretty'
, कॉल करके नहींdb.collection.find().limit(1)
(नोट: यह अद्यतन प्रश्न का उत्तर है)
आप इसे CLI पर कर सकते हैं:
echo DBQuery.prototype._prettyShell = true >> ~/.mongorc.js
और यह हमेशा सुंदर परिणाम का उत्पादन करने जा रहा है।
चूंकि यह मूल रूप से एक जावास्क्रिप्ट शेल है, आप इसका उपयोग भी कर सकते हैं toArray()
:
db.collection.find().toArray()
हालांकि, यह संग्रह के सभी दस्तावेजों को प्रिंट करेगा इसके विपरीत pretty()
आपको पुनरावृति करने की अनुमति देगा। देखें: http://docs.mongodb.org/manual/reference/method/cursor.toArray/
.toArray()
फ़ंक्शन आउटपुट को बेहतर .pretty()
फ़ंक्शन से JSON स्वरूपित करता है। यानी: मेरे संग्रह का पहला रिकॉर्ड बाकी की तुलना में अलग है (जो समस्या हो सकती है), लेकिन .pretty()
इसे बाहर के रूप में डंप करता है { "_id" : "VERSION", "v" : "1.5" }
- सभी एक पंक्ति पर, जहां .toArray()
इसे बाकी रिकॉर्डों की तरह अच्छा स्वरूपित किया गया है ..
मानगो-हैकर (नोड मॉड्यूल) के लिए एक कोशिश दे, यह बहुत सुंदर प्रिंट करता है। https://github.com/TylerBrock/mongo-hacker
अधिक यह मोंगो शेल को बढ़ाता है (केवल ver> 2.4, current ver 3.0 3.0 का समर्थन करता है), जैसे
मैं उत्पादन में env के लिए उपयोग कर रहा हूँ, अभी तक कोई समस्या नहीं है।
$HOME/.mongorc.js
।
इस सवाल पर समझ गए लेकिन यह पता नहीं लगा सके कि इसे बाहरी रूप से लोड किए गए मोंगो से कैसे प्रिंट किया जाए। इसलिए:
यह कार्य कंसोल के लिए है: और कंसोल में पसंद किया जाता है, लेकिन बाहरी मानगो से भरी जावास्क्रिप्ट में काम नहीं करता है:
db.quizes.find().pretty()
यह बाहरी मैंगो लोडेड जावास्क्रिप्ट में काम करता है:
db.quizes.find().forEach(printjson)
इसकी जांच करें:
db.collection.find().pretty()