MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

So sánh hai trường mảng trong cùng một tài liệu

nếu bạn đã có hai đối tượng thì bạn có thể làm như thế này. nhưng nếu bạn cần lấy nó từ mongoDb thì bạn nên sử dụng $ mergeObject trong tổng hợp 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. MongoDB tự lưu trữ

  2. Không thể khởi động dịch vụ MongoDB 3.0.2 trên CentOS 7

  3. Mongoose dường như thất bại một cách lặng lẽ

  4. Xóa bằng _id trong bảng điều khiển MongoDB

  5. MongoDB có thể lưu trữ và thao tác các chuỗi UTF-8 với các điểm mã bên ngoài mặt phẳng đa ngôn ngữ cơ bản không?