我有一个连接到mongo db的Java Spring Application。
在该数据库中,我有两个集合:
包含具有以下架构的文档的目录:
{
ata: string,
description: string
}
和
更正,其中包含具有以下架构的文档:
{
//some properties
predictions: [
{ata: string, accuracy: float}
],
//other properties
}
我想同时将atas集合的ata属性和corrections属性的预测属性的ata属性“加入”,以便最终得到一个文档,
{
//some properties
predictions: [
{ata: string, description: string, accuracy: float}
]
}
OR
{
//some properties
predictions: [
{ata: {ata: string, description}, accuracy: float}
]
}
如何在mongo中做到这一点?
我使用以下代码查看我是否至少能够为每次预测获取正确的ata文档。
db.getCollection('corrections').aggregate([
{
$lookup:
{
from: "atas",
localField: "predictions.ata",
foreignField: "ata",
as: "atas"
}
}])
它在生成的文档中为我提供了正确的ata(如果atas集合中存在)。
现在,我希望能够在每个文档的预测属性中的对象的ata属性中包含那些atas,如上所述。
如果我的要求不清楚,请不要问我。
在此先感谢您的帮助或时间。
PS:我用Java和spring进行了标记,因为我想在Spring中实现它,但是首先我想看看如何在纯mongo中实现它。