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

Lưu với Java springdata một tài liệu mongoDB với mảng giới hạn ($ slice và $ sort)

Cuối cùng tôi nhận được giải pháp bằng cách sử dụng mã này:

// Define the search query
BasicDBObject searchQuery = new BasicDBObject().append("idU", idUser);

// To create the json query to modify
BasicDBObject logDocument = new BasicDBObject();

// Create the object and add it to a list (because the $each require a list)
List<DBObject> list = new ArrayList<DBObject>();
DBObject object = new BasicDBObject().append("text", logMessage.getText());
object.append("level", logMessage.getLevel())
object.append("date", logMessage.getDate());
list.add(object);

// Create the $sort and $slice query at the same time
logDocument.append(
    "$push",
    new BasicDBObject().append("logs", new BasicDBObject().append("$each", list).append("$sort", new BasicDBObject().append("date", 1))
            .append("$slice", -10)));

String json = "{findAndModify:\"collectionLog\", query:" + searchQuery.toString() + ", update: " + logDocument.toString() + ", upsert:true}";

try {
     getMongoTemplate().executeCommand(json);
} catch (Exception e) {
     System.out.println(e);
}

Tôi hy vọng nó sẽ hữu ích cho người khác !!!



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB - Đối số cho $ size phải là một Mảng, nhưng thuộc loại:EOO / thiếu

  2. Chèn tài liệu nhúng vào trường mới trong tài liệu mongodb

  3. Làm cách nào để xuất một đối tượng chỉ khả dụng trong lệnh gọi lại không đồng bộ?

  4. systemctl không tìm thấy trong khi xây dựng hình ảnh mongo

  5. Mongo Query với Regex trong Node JS hoạt động TRÊN MỘT BIẾN TẦN