sql >> データベース >  >> NoSQL >> MongoDB

同じドキュメント内の2つの配列フィールドを比較する

    すでに2つのオブジェクトがある場合は、このようにすることができます。ただし、mongoDbから取得する必要がある場合は、mongoaggregationで$mergeObjectを使用する必要があります。

    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. 配列内のサブドキュメントのMongodb集計

    2. 配列内の最大要素を見つける

    3. mongodb、pymongo、aggregateは奇妙な出力を出します(カーソルについての何か)

    4. E:パッケージmongodb-orgが見つかりません