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

C # Mongodb. Tìm mục trong mảng và chỉ chọn mục này

Hãy thử điều này

        var mongoClient = new MongoClient();
        var collection = mongoClient.GetDatabase("test").GetCollection<Rootobject>("test");

        ObjectId someId = new ObjectId("599e670f2720317af451db9e");
        string someName = "Car 1";

        var item = await collection.AsQueryable()
            .Where(x => x.Id == someId)
            .SelectMany(x => x.Cars)
            .Where(x => x.Name == someName)
            .FirstOrDefaultAsync();

Điều này tạo ra truy vấn tổng hợp bên dưới:

{aggregate([{ "$match" : { "_id" : ObjectId("599e670f2720317af451db9e") } }, { "$unwind" : "$Cars" }, { "$project" : { "Cars" : "$Cars", "_id" : 0 } }, { "$match" : { "Cars.Name" : "Car 1" } }])}

tạo ra các kết quả sau:

{ "Cars" : { "Name" : "Car 1", "Labels" : [ { "Label" : "Main", "Color" : "#F49973" } ] } }



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB:Làm thế nào để phân tích cú pháp ngày trong phiên bản 3.6 mongoDb?

  2. Ngoại lệ:không thể chuyển đổi từ loại BSON EOO thành Date

  3. mgo:cách cập nhật một mảng cụ thể trong tài liệu

  4. MongoDB đếm số lượng tài liệu mới mỗi phút dựa trên _id

  5. Nhóm theo ngày / tháng / tuần trên cơ sở phạm vi ngày