Mongodb/Java聊天查询和带有线程/消息的模型体系结构
我正在从事一个JavaSpring项目——使用mongodb。我很想知道是否应该将线程/消息分成两个模型
-- threads
----id
----fromUser
----toUser
----lastMessage
-- messages
----id
----fromUser
----toUser
----lastMessage
----createdAt
----updatedAt
目前,我正在尝试从用户创建一个线程列表,看起来是这样的——但我不确定如何执行orderBy-createdAt——这也是一种创建列表的方法,但只显示线程的最新消息
@CrossOrigin
@GetMapping("/api/chat/threads/{fromUserID}")
@ResponseBody
public BasicDBObject listChatFromUser (
@PathVariable(value="fromUserID", required=false) String fromUserID
) {
List<Chat> chats = MongoApp.mongoOps().find(query(where("fromUserID").is(fromUserID)), Chat.class);
BasicDBObject obj = new BasicDBObject();
obj.put("chats", chats);
obj.put("count", chats.size());
return obj;
}
共 (0) 个答案