MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Сравнете две полета на масив в един и същи документ

ако вече имате два обекта, тогава можете да направите така. но ако трябва да го получите от mongoDb, тогава трябва да използвате $mergeObject в агрегирането на mongo.

var a = [
    {
        "_id" : "5ba8d8dfaa988532967029af",
        "level" : 2,
        "completed" : 5,
        "asset" : "5ba8caa1aa98853296702989"
    },
    {
        "_id" : "5ba8d8dfaa988532967029b0",
        "level" : 2,
        "completed" : 3,
        "asset" : "5ba8caf6aa9885329670298a"
    }];
    
 var b = [
    {
        "total" : 1,
        "asset" : "5ba8caa1aa98853296702989",
        "level" : 2
    },
    {
        "total" : 1,
        "asset" : "5ba8caf6aa9885329670298a",
        "level" : 2
    }];
    var output = [];
    function extend(obj, src) {
	src.forEach(function(key,index) { 
          if(obj[index]["asset"] == src[index]["asset"] && obj[index]["level"] == src[index]["level"]){
            let c = {...obj[index],...src[index]};
            output.push(c);
           }
         
        });
    }
  extend(a, b);
  console.log(output)


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Промяна на String дата на ISO дата в MongoDB?

  2. Изтрийте всичко в база данни на MongoDB

  3. Урок за PyMongo:Тестване на отказ на MongoDB във вашето Python приложение

  4. Проблем с безопасно_формат_монтиране на Google Compute Engine – посочете грешка във типа на файловата система

  5. Как да рестартирате съществуващ MongoDB Docker контейнер с нови флагове към демон