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

Làm cách nào để đếm số lần xuất hiện trong tài liệu lồng nhau trong mongodb?

Có một số cách để tiếp cận điều này tùy thuộc vào lượng dữ liệu bạn cần xử lý. Bạn có thể sử dụng Khung Tổng hợp trong MongoDB 2.2+ hoặc có thể Bản đồ / Thu nhỏ . Xem So sánh các lệnh tổng hợp để biết tóm tắt về các tính năng và hạn chế.

Đây là một ví dụ sử dụng Khung tổng hợp:

db.fruit.aggregate(
    // Limit matching documents (can take advantage of index)
    { $match: {
        "_id" : ObjectId("52c1d909fc7fc68ddd999a73")
    }},

    // Unpack the question & answer arrays
    { $unwind: "$questions" },
    { $unwind: "$questions.answers" },

    // Group by the answer values
    { $group: {
        _id: "$questions.answers.answer",
        count: { $sum: 1 }
    }}
)

Đối với tài liệu mẫu của bạn, điều này trả về:

{
    "result" : [
        {
            "_id" : "banana",
            "count" : 1
        },
        {
            "_id" : "apple",
            "count" : 2
        }
    ],
    "ok" : 1
}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bạn có thể sử dụng truy vấn tìm kiếm trên GridFS bằng cách sử dụng API javascript không?

  2. Mongodb - Map-Reduce - Dữ liệu hoàn chỉnh không được trả lại

  3. Cách dễ nhất để cài đặt phần mở rộng Mongodb PHP trong Ubuntu 13.10 (saucy)?

  4. Trả về kết quả nối của các lệnh gọi lại được gọi trong một vòng lặp

  5. In ngày MongoDB từ PHP