0

我有一个包含 Places 的 Mongoose 模型。每个地方都有一个纬度/经度。我可以定义一个名为distance的 Mongoose虚拟属性,用于按升序对 Places 进行排序。从距离虚拟属性内部引用用户位置信息(假设它现在存储在会话变量中)的最佳方式是什么?

4

3 回答 3

1

对于涉及外部数据的任何事情,向模式添加方法将是比虚拟属性更好的选择。

于 2012-08-01T13:41:12.417 回答
0

我正在解决一个类似的问题。问题是,如果您想对单个值执行操作,但我正在检索一个列表并希望将一个新的虚拟字段注入到列表中的每条记录中,那么这些方法很好 - 但使用会话数据来生成该字段。为了安全地做到这一点(避免全局变量),我认为我需要使用QueryStream并使用ArrayFormatter注入新字段,该ArrayFormatter 将会话变量作为构造函数参数。

这看起来也像是 LINQ 的工作,因此另一种方法可能是使用 LINQ to JS 的一个端口。

于 2013-01-01T09:08:07.910 回答
-2

如果您更喜欢使用虚拟,您可以将用户位置信息存储在 NodeJs 全局变量中。例如,此代码可以在用户登录后设置:

global.user_location = user.location;
于 2012-11-19T11:42:29.480 回答