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

केवल मानों की एक सरणी के रूप में परिणाम लौटाएं

आप map() कर सकते हैं . Array.map() Use का प्रयोग करें नेवला के साथ क्योंकि यह एक सरणी देता है, और आप केवल $group . का उपयोग करके बेहतर हैं _id $push . का उपयोग करने के बजाय

const subCategory = (await SubCategory.aggregate([
  { '$match': { category: "dining" } },
  { '$group': { '_id': "$name" } }
])).map(({ _id }) => _id);

या Cursor.map() . के साथ यदि अंतर्निहित Collection . का उपयोग कर रहे हैं मुख्य चालक से:

const subCategory = await SubCategory.collection.aggregate([
  { '$match': { category: "dining" } },
  { '$group': { '_id': "$name"  } }
]).map(({ _id }) => _id).toArray();

find() . के साथ बहुत कुछ ऐसा ही है यदि आप "विशिष्ट" परिणाम नहीं चाहते हैं:

const subCategory = (await Subcategory.find({ category: "dining" }))
  .map(({ name }) => name);

या Cursor.map() . के साथ

const subCategory = await Subcategory.collection.find({ category: "dining" })
  .map(({ name }) => name).toArray();

आप distinct() . का भी उपयोग कर सकते हैं , जो मूल रूप से एकत्रीकरण प्रक्रिया और map() . में बदलाव करता है "अंडर द हुड" ("केवल फील्ड पार्ट लौटाएं" न कि अलग एग्रीगेशन मेथड):

const subCategory = await SubCategory.distinct("name",{ category: "dining" });

MongoDB स्वयं BSON दस्तावेज़ के अलावा कुछ भी नहीं लौटाएगा, और एक साधारण स्ट्रिंग BSON दस्तावेज़ नहीं है।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. नए ClusterControl को अपने MongoDB परिनियोजन को सुरक्षित करने दें

  2. MongoDb jndi . के माध्यम से

  3. उल्का के पास कौन से सुरक्षा तंत्र हैं?

  4. मोंगोडब में एकल दस्तावेज़ का आकार कैसे प्राप्त करें?

  5. यूटीसी टाइमज़ोन के साथ आज तक आईएसओ 8601 तारीख स्ट्रिंग पार्स करें