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

Tìm các giá trị trùng lặp trong mảng MongoDB

Có thể sẽ có nhiều tài liệu như vậy và do đó bạn muốn có nó trên mỗi ObjectId.

db.myCollection.aggregate([
  {"$project": {"collegeIDs":1}},
  {"$unwind":"$collegeIDs"},
  {"$group": {"_id":{"_id":"$_id", "cid":"$collegeIDs"}, "count":{"$sum":1}}},
  {"$match": {"count":{"$gt":1}}},
  {"$group": {"_id": "$_id._id", "collegeIDs":{"$addToSet":"$_id.cid"}}}
])

Đây có thể là điều bạn muốn, không rõ ràng so với câu hỏi của bạn:

db.myCollection.aggregate([
  {"$match": {"userID":"USER001"}},
  {"$project": {"collegeIDs":1, "_id":0}},
  {"$unwind":"$collegeIDs"},
  {"$group": {"_id":"$collegeIDs", "count":{"$sum":1}}},
  {"$match": {"count":{"$gt":1}}},
])



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Triển khai và giám sát cơ sở dữ liệu nguồn mở miễn phí với ClusterControl Community Edition

  2. Nhận số lượng kết nối đang mở trong mongoDB bằng java

  3. GridFS trong Spring Data MongoDB

  4. Làm thế nào để tạo lược đồ Mongoose với Mảng ID đối tượng?

  5. Node.js + mongoose tìm thấy nút bị đóng băng khi có hơn 100 kết quả