मैं MongoDB पर इस SQL विवरण निष्पादित करने के लिए चाहते हैं का उपयोग कर का चयन करें:अलग एक से अधिक क्षेत्र MongoDB के नक्शे को कम
SELECT DISTINCT book,author from library
अब तक MongoDB के DISTINCT केवल एक ही क्षेत्र में एक समय में समर्थन करता है। एक से अधिक फ़ील्ड के लिए, हमें ग्रुप कमांड या मैप-कम का उपयोग करना होगा। 10,000 चाबियाँ करने के लिए
db.library.group({
key: {book:1, author:1},
reduce: function(obj, prev) { if (!obj.hasOwnProperty("key")) {
prev.book = obj.book;
prev.author = obj.author;
}},
initial: { }
});
हालांकि इस दृष्टिकोण का समर्थन करता है केवल ऊपर:
मैं ग्रुप आदेश का उपयोग करने के लिए एक तरह से googled है। किसी को भी पता है कि इस समस्या को हल करने के लिए मानचित्र का उपयोग कैसे करें?
बहुत बहुत शुक्रिया प्राप्त करें। यह अच्छा काम करता है। लेकिन मुझे अभी भी '{मौजूद: 1}' के कार्य को खोजने में कठिनाई है। मेरी समझ में यह प्रत्येक अद्वितीय मूल्य के लिए एक पहचानकर्ता है। लेकिन मुझे अभी भी यह अजीब लगता है। –
आमतौर पर मूल्य अधिक जटिल है और इसमें कई फ़ील्ड हैं। आप इसे मान 1 को उत्सर्जित करने के लिए सरल बना सकते हैं लेकिन '{मौजूद: 1} 'अधिक आत्म-स्पष्टीकरणपूर्ण है और जब आप इसे बाद में और फ़ील्ड जोड़ना चाहते हैं तो इसे आसान बना देगा। –