我在MongoDB中执行了一个查询,通过ID查找一个特定的记录,它运行良好,并返回了以下文档:
{
key1: "value1",
key2: "value2"
}
现在我需要向返回的JSON记录添加键“seeAlso”。
此键将包含同一集合中其他3个记录的样本。
最终文档应如下所示:
{
key1: "value1",
key2: "value2",
seeAlso: [
{doc1},
{doc2},
{doc3},
]
}
$sample我已经知道怎么做了。必须将以下内容添加到管道中:
{
'$sample': {
'size': 10
}
}
我不知道的是如何将这个示例的结果存储在“seeAlso”键中。此时需要创建这样的键,它还不存在。
2条答案
按热度按时间7z5jn7bk1#
您可能只需要在子管道中执行
$sample
。要省略原始记录,请在子管道的开头添加一个$match
,以便省略_id
Mongo Playground
ngynwnxp2#
您可以使用带有stages的$facet来执行此操作:
pipeline 1:$匹配单个文档
管线2: