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

mongoDB में नेस्टेड वस्तु पाठ खोज

एकत्रीकरण ढांचे के साथ यह ऐसा दिख सकता है

db.getCollection('yourCollection').aggregate([
    {
        $unwind: '$arr'
    },
    {
        $match: {
            $or: [
                { 'arr.name': /world/i },
                { 'arr.description': /world/i }
            ]
        }
    },
    {
        $project: {
            _id: '$arr._id',
            name: '$arr.name',
            description: '$arr.description'
        }
    }
])

जिसके परिणामस्वरूप आपके उदाहरण डेटा के लिए निम्न आउटपुट होगा:

{
    "_id" : 1,
    "name" : "Random",
    "description" : "Hello world"
}
{
    "_id" : 2,
    "name" : "World",
    "description" : "This is a random description"
}  

यदि आपको अपने प्रश्न में दिखाए गए परिणामी दस्तावेज़ों के साथ एकल सरणी की आवश्यकता है, तो आप बस एक toArray() को चेन कर सकते हैं पाइपलाइन के अंत में कॉल करें - ध्यान रखें कि इससे बड़े परिणाम सेट के मामले में स्मृति खपत में वृद्धि हो सकती है जैसा कि SSDMS टिप्पणियों में।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoEngine और PyMongo का एक साथ उपयोग करें

  2. MongoDB में उप दस्तावेज़ों को क्रमबद्ध करें

  3. मोंगो प्रोजेक्शन क्वेरी परिणाम शेल बनाम नोडज एप्लिकेशन में परीक्षण से भिन्न होते हैं

  4. एसएएसएल प्रमाणीकरण चरण पर सर्वर ने त्रुटि लौटा दी:प्रमाणीकरण विफल रहा

  5. मोंगो क्षेत्र के आधार पर वस्तुओं की सरणी में डुप्लिकेट हटा दें