我正在尝试编写MongoDB查询以完成下面解释的内容。我不知道mongoDB是否可行。我知道如何在单个文档或多个文档中插入字段,但我的问题是没有进展。 我有一个集合(比如说“procs”)有5000个文件,如:
{
“sid”:1
“触发”:[
{
“post_time”:0,
“p_start”:1487303363.8170002,
“pid”:1
}
]
}
这是来自不同集合的另一个文档-2(例如“acqs”):
{ “sn”:10302301, “日期”:“2017-12-11”, “sid”:1 “acqs”:[{ “aqid”:2, “aq_end”:1487305607.342 } ] } 该集合还包含大约5000个文档。
现在我想将文档2中的“sn”和“date”字段插入到对应于相同“sid”字段值的文档1中。 所以我想输出这样的东西: { “sn”:10302301, “日期”:“2017-12-11”, “sid”:1 “procs”:[{ “post_time”:0, “p_start”:1487303363.8170002, “pid”:1 } ] }
答案 0 :(得分:1)
在mongoDb中,您可以使用$ lookup
div {
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0px;
margin: auto;
width: 100px;
height: 100px;
}
结果将如下:
db.procs.aggregrate([
{
$lookup:
{
from: "acqs",
localField: "sid",
foreignField: "sid",
as: "procs_docs"
}
}
])
如果您使用的是mongoose,那么您可以使用mongoose的populate方法,它允许您引用其他集合中的文档。