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

Sử dụng kết quả từ truy vấn trước đó trong một truy vấn khác trong mongodb

Bạn có thể sử dụng tổng hợp với $match để phù hợp với điều kiện của bạn và $lookup để ánh xạ trường địa phương của bạn user tới user của bạn bộ sưu tập _id lĩnh vực:

db.a.aggregate(
    [{
        $match: {
            "type": ObjectId("50ed90f5a70defef23000002"),
            "config.name": "alpha"
        }
    }, {
        $lookup: {
            from: "users",
            localField: "user",
            foreignField: "_id",
            as: "users"
        }
    }, {
        $unwind: "$users"
    }]);

Trong Javascript, với mongoose ví dụ, bạn có thể làm điều này với:

YourModel.aggregate(
    [{
        $match: {
            "type": ObjectId("50ed90f5a70defef23000002"),
            "config.name": "alpha"
        }
    }, {
        $lookup: {
            from: "users",
            localField: "user",
            foreignField: "_id",
            as: "users"
        }
    }, {
        $unwind: "$users"
    }],
    function(err, result) {
        console.log("lastname : " + result.users.lastname);
    });


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Nhóm MongoDB theo mảng phần tử bên trong

  2. Quên đường dẫn dữ liệu mongodb

  3. Nhập tệp CSV từ một thư mục để tạo cơ sở dữ liệu trên Rails

  4. Toán tử gần đối với lỗi trả về điểm geojson khi maxdistance được sử dụng trong truy vấn

  5. Mongo:ngày trong truy vấn tổng hợp đối sánh dường như bị bỏ qua