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

Truy vấn cho mảng tương tự trong MongoDB

Cảm ơn tất cả những gì đã cố gắng giúp đỡ tôi. Tôi đánh giá cao sự giúp đỡ của bạn.

Tôi đã tìm ra giải pháp thông qua đường dẫn tổng hợp.

var myArray = ['a', 'b', 'c'];

db.test.aggregate([
    {
        $unwind: '$chars',
    },
    {
        $match: { chars: { $in: myArray } },
    },
    {
        $group: {
            _id: '$_id',
            count: { $sum: 1 },
        },
    },
    {
        $project: {
            _id: 1,
            count: 1,
            score: { $divide: ['$count', myArray.length] },
        },
    },
    {
        $sort: { score: -1 },
    },
]);

Đây là những gì mà bảng điều khiển trả lại:

{ "_id" : ObjectId("586ebeacb2ec9fc7fef5ce31"), "count" : 3, "score" : 1 }
{ "_id" : ObjectId("586ebeb9b2ec9fc7fef5ce32"), "count" : 2, "score" : 0.6666666666666666 }
{ "_id" : ObjectId("586ebe89b2ec9fc7fef5ce2f"), "count" : 1, "score" : 0.3333333333333333 }

Hy vọng ai đó thấy điều này hữu ích.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongodb:`com.mongodb.MongoSocketReadException:Đã đến gần cuối luồng` với morphia

  2. Ánh xạ nhiều-nhiều với Mongoose

  3. Cách sử dụng Spring để kết nối với MongoDB yêu cầu xác thực

  4. không thể truy xuất dữ liệu từ http góc

  5. GroupBy Aggregation bao gồm các ngày bị thiếu trong mongo