【发布时间】:2013-04-16 08:31:03
【问题描述】:
我正在使用 mongoDB 和 Java SpringData 开发一个日志寄存器。
MongoDb capped sub-collection 在这里谈论 mongoDB 结构,但我会使用 Java。最重要的是我有一个包含一个或多个字段和一个上限数组的文档。
Java 中有什么方法或方式可以做到这一点吗?
我的对象是这样的:
user = {
name: String,
latest_messages: [String] (capped to a 100 elements)
}
在 Java 中:
public class MessageLog {
private ObjectId id;
private String name;
private List<Message> messages;
}
地点:
public class Message{
private String text;
private String level;
private Date date;
}
编辑:
我正在使用带有 Spring 源的 Java(mongodb 驱动程序 v2.10.1:http://central.maven.org/maven2/org/mongodb/mongo-java-driver/2.10.1/)
【问题讨论】:
-
是什么阻止了您在保存之前检查和切割
messages大小? -
@Vladimir 我需要使用 Capped Arrays (docs.mongodb.org/manual/tutorial/…),因为它直接使用 mongoDB。
-
1.请说清楚:您是使用 Java API,还是直接从 mongo shell 查询 MongoDB? 2. 为什么不能将
DBCollection.udpate第二个参数形成为 {"$push": ... $slice:-3}}}? -
是的弗拉基米尔,我正在尝试使用“DBCollection.update”,但我认为这个功能会实现。
标签: java mongodb sorting spring-data slice