Mongodb Inner Join запрос в nodejs - PullRequest
       68

Mongodb Inner Join запрос в nodejs

0 голосов
/ 28 января 2020

Я изучаю mongodb и nodejs, и я только что обнаружил трудность при загрузке данных, чей "id" никогда не упоминался в "old_id" данных, следующих за ним.

Например, для коллекция ниже:

{
    "title": "example_001",
    "data": [[{
                "id": "001",
                "old_id": "null"
            }
        ]]
}{
    "title": "example_002",
    "data": [[{
                "id": "002",
                "old_id": "null"
            }
        ]]
}{
    "title": "example_003",
    "data": [[{
                "id": "003",
                "old_id": "002"
            }
        ]]
}{
    "title": "example_004",
    "data": [[{
                "id": "004",
                "old_id": "null"
            }
        ]]
}{
    "title": "example_005",
    "data": [[{
                "id": "005",
                "old_id": "001"
            }
        ]]
}

ожидаемый результат:

{
    "title": "example_003",
    "data": [[{
                "id": "003",
                "old_id": "002"
            }
        ]]
}{
    "title": "example_004",
    "data": [[{
                "id": "004",
                "old_id": "null"
            }
        ]]
}{
    "title": "example_005",
    "data": [[{
                "id": "005",
                "old_id": "001"
            }
        ]]
}

Я не знаю, как я могу указать фильтр, который позволяет мне возвращать результаты выше, этот фильтр будет хранится в переменной и вставляется в скрипт ниже:

//let old_filter = {"$and": [{data: {$elemMatch: {$elemMatch: {$eq: ["last_id","null" ] }}}}] };
let filter = ??? ;
db.collection("mycollection").find(filter, { _id: 0 }).toArray(function(error, results) {
    try{
      if (error) throw error;
      console.log(results.length);
      return resolve(results);
    }finally{
      db.close();         
    }
});

Спасибо за вашу помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...