【发布时间】:2017-07-31 16:10:44
【问题描述】:
好的,我编辑清楚了。
我在这里遇到了一些问题。我找不到最好的方法:
我的 MongoDB 中有一个“表”,我的 Mongoose 模型是这样的:
var machineSchema = new Schema({
uuid : String,
data : String
});
所以 UUID 是我的机器 UUID。我可以在数据库中有这样的东西:
{"uuid":"bla1","data":"RAM 1024MB"},
{"uuid":"bla1","data":"LINUX"},
{"uuid":"bla1","data":"CPU: Xeon"},
{"uuid":"bla2","data":"RAM 512MB"},
{"uuid":"bla2","data":"LINUX"},
{"uuid":"bla2","data":"CPU: Pentium Dual Core"}
我想要做的是,让两个 UUID(如 bla1 和 bla2)找到它们的共同点(数据)。所以它应该返回:
{"uuid":"bla1","data":"LINUX"},
{"uuid":"bla2","data":"LINUX"}
或者只是
{"data":"LINUX"}
我可以对 bla1 和 bla2 进行两次查询,然后手动比较它们,但我认为它有更好的方法来做到这一点。我不习惯 Mongoose 查询,有什么办法吗?在 MySQL 上,我会使用两个子查询进行查询,只选择 field1 在两者之间匹配的结果。在 Mongoose 上我应该怎么做?
谢谢!
【问题讨论】:
-
不是一个很清楚的问题。我们可以假设您的实际数据结构,但实际上表示您的实际问题的最佳方式是展示您当前如何构建数据。这没有显示,所以请编辑。
-
好的,尼尔,添加了有关它的详细信息。 ^^
-
嗨 Lucas,你自己找到答案了吗?
-
我没有 Lauren,我认为唯一的方法是手动进行比较。这是 NoSQL 的缺点之一:/ - 可能最好的方法是 Map Reduce 过程。
标签: node.js mongodb mongoose database