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

Node.js में नेवला के माध्यम से डॉट (।) का उपयोग करके एक क्वेरी कैसे करें और एक खाली सरणी कैसे जोड़ें

यहां कई समस्याएं हैं जिनका आप सामना कर रहे हैं।

सबसे पहले, टीम एक सरणी संपत्ति है, लेकिन आप इसे एक ऑब्जेक्ट असाइन कर रहे हैं। आपको कुछ ऐसा करने की ज़रूरत है:

var user = new users({
    userID: id, //give the id of the next user in Dbase
    userName: userName, 
    userEmail: 'userEmail',
    teams:[],
    socialMedias: [{socialMediaType: socialMediaID}]
});

दूसरा, यदि सोशलमीडिया टाइप को फ़ंक्शन परम के रूप में पास किया जाता है, तो आप इसका उपयोग नहीं कर सकते जैसे आप कर रहे हैं। आपको कुछ ऐसा करने की ज़रूरत है:

var socialMedias = {};
socialMedias[socialMediaType] = socialMediaID;
var user = new users({
    userID: id, //give the id of the next user in Dbase
    userName: userName, 
    userEmail: 'userEmail',
    teams:[],
    socialMedias: [socialMedias]
});

तीसरा आपका खोज जैसा है वैसा काम नहीं करेगा। मैं यहां आपके इरादे के बारे में जो कुछ भी इकट्ठा कर सकता हूं, आपको कुछ इस तरह की जरूरत है:

function searchUser(socialMediaID, socialMediaType){
    var user
    var query = {};
    query["socialMedias."+socialMediaType] = socialMediaID;

    users.findOne(query, function(err, userFound){

        if(err) return handleError(err);
        user = userFound; 
    });

    //what does  MongoDb return if it does not find the document?

    return user;
}

लेकिन चौथा, यहां तक ​​कि यह भी काम नहीं करेगा क्योंकि आप एक विधि से उपयोगकर्ता को सिंक्रोनस रूप से वापस कर रहे हैं जो एसिंक्रोनस ऑपरेशन करता है। इसे हल करने के कई तरीके हैं, लेकिन आप वादों के बारे में पढ़कर, या कॉलबैक फ़ंक्शन को searchUser में पास करके शुरू कर सकते हैं।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. लूपबैक त्रुटि:प्राधिकरण आवश्यक

  2. जावास्क्रिप्ट में एक आईएसओ तिथि वस्तु बनाएं

  3. मोंगोडब एकत्रीकरण में $replaceRoot

  4. मैं मैक ओएस टर्मिनल से रिमोट मोंगो सर्वर से कैसे जुड़ सकता हूं

  5. संग्रह में MongoDB खोज