2017-02-21 3 views
0

Я новичок в mongoDB и nodejs, и я хочу присоединиться к этому запросу dbconn.users_model.find({ upline: parent.userid, position: position}, function(err, me) с моими коллекциями в mongoDB, у меня есть три коллекции данных в MongoDB, первые коллекции - это «учетная запись», вторая - «баланс», а последний - «пользователи». Вот я показываю свой код проекта. Надеюсь, вы, ребята, понимаете, потому что я плохо разбираюсь.Как присоединиться к таблице mongoose с nodejs

dbconn.users_model.find({ upline: parent.userid, position: position}, function(err, me) { 
 
      if (!err && me.length > 0){ 
 
       var data_node = { 
 
        name:me[0].name, 
 
        userid:me[0].userid, 
 
        upline:me[0].upline, 
 
        username:me[0].username, 
 
        position:me[0].position, 
 
        _id:me[0]._id 
 
       }; 
 
       if(parent.hasOwnProperty('family')){ 
 
        data_node.family = parent.family+'-'+data_node.userid; 
 
       }else{ 
 
        data_node.family = parent.userid+'-'+data_node.userid; 
 
       } 
 
       data_tree['level_'+level]['parent_'+parent.userid+'_'+position] = data_node; 
 
       get_item(level,data_node,function(resp_get_item){ 
 
        return cb(''); 
 
       }); 
 
      } 
 
      else{ 
 
       var data_node = { 
 
        name:'___add', 
 
        userid:parent.userid+''+position, 
 
        upline:parent.userid, 
 
        position:position 
 
       }; 
 
       if(parent.hasOwnProperty('family')){ 
 
         data_node.family = parent.family+'-'+data_node.userid; 
 
        }else{ 
 
         data_node.family = parent.userid+'-'+data_node.userid; 
 
        } 
 

 
       data_tree['level_'+level]['parent_'+parent.userid+'_'+position] = data_node; 
 
       if(position_mapping.hasOwnProperty(''+parent.userid)){ 
 
       }else{ 
 
        position_mapping[''+parent.userid] = {}; 
 
       } 
 
       position_mapping[''+parent.userid][''+position] = 1; 
 

 
       if(!(uplinelist.indexOf(myupline) > -1)){ 
 
        uplinelist.push(myupline); 
 
       }else{ 
 
        uplinelist[uplinelist.indexOf(myupline)] = myupline; 
 
       } 
 

 
       return cb(''); 
 
      } 
 
     });

Hover effect

Если это уже связано с моей коллекцией в MongoDB ("баланс" и "счета"), оно будет отображаться каждые поля в этом дисплее парения.

+0

Что вы подразумеваете, присоединяясь? Вы хотите запустить один и тот же запрос на поиск в трех коллекциях и объединить результаты? В вашем коде вы просто выполняете 'find' on' users_model' –

+0

, да, это именно то, что я хочу, я хочу запустить тот же запрос на поиск в трех коллекциях и объединить результат. Как вы думаете, есть ли решения для решения проблемы? пока я застрял. мне нужно запросить «найти» коллекцию других, как я сделал для «users_model»? – Jwon

ответ

0

В запросах MongoDB есть слово «буквально», которое называется JOIN. Вам нужно заполнить данные из коллекции, а затем вы можете либо выполнить подзапрос в другой коллекции, либо написать собственный метод для извлечения данных из нескольких коллекций и создать набор данных, который вам нужно вернуть из вашего запроса.

Пожалуйста, не применяйте запросы/концепции RDBMS с базами данных NoSQL.

+0

Вижу, спасибо за ваш совет. могу ли я спросить, есть ли у вас какой-нибудь пример для просмотра или чтения? – Jwon

Смежные вопросы