parsingMongoDB参考

我目前正在与nodejs和mongoDBbuild立一个聊天应用程序。
基本上我有两个集合维护在分贝。

user = { _id: ObjectId("1234"), account: "stan123" } thread = { _user: ObjectId("1234"), messages: [ { body:"hi" _user:ObjectId("1234") }, { body:"second msg" _user:ObjectId("1234") } ] } 

我打算将所有parsing的信息(用户)的线程模型传递给客户端,以便我可以用它构造我的小部件。 我为此寻找解决scheme。有人build议从客户端拨打额外的电话来获取数据。 不过,我担心的是,当消息量增长的时候,会有相当多的http调用会影响网站的速度。

我知道一些驱动程序可以自动解决DBRefs并使代码干净。 但是,根据http://docs.mongodb.org/manual/applications/database-references/

我决定只使用id来维护引用,使其尽可能简单。

我的计划是解决在服务器端的所有引用。 目前的方法是首先获取消息数组的长度。 然后循环访问消息数组,并进行第二次查询以分别parsing用户信息。 在每个查询callback中,执行messageToResolve ++和if(messageToResolve> = thread.messages.length)

如果条件满足,则将parsing后的模型发送给客户端并结束响应。

这不是我会考虑embedded的情况,因为当您需要更新用户数据时,这将是痛苦的。 (消息是embedded的,因为它只存在线程时才存在)

我不确定这是否是一个好方法。 有没有人有更好的解决scheme?

对不起,如果我没有解释清楚我的问题和解决scheme。 并提前感谢。