如何 RETURN 完整数据但在某些领域独一无二
HOW TO RETURN FULL DATA BUT UNIQUE IN CERTAIN FIELD
我有这个示例数据
[
{id:1, type:"A", date:2022-01-01},
{id:2, type:"A", date:2022-01-02},
{id:3, type:"B", date:2022-01-01}
]
但是如何只获取每种类型的一个数据,就像我必须得到这样的输出。
[
{id:2, type:"A", date:2022-01-02},
{id:3, type:"B", date:2022-01-01}
]
如果具有相同的类型值,则只获取一个数据。
我试过 $group $first 但 none 工作。
任何人都可以帮助我吗?
我应该在 mongodb 中编码什么?
不确定什么不适合您,但 $group
和 $first
(或 $last
)是可行的方法,如下所示:
db.collection.aggregate([
{
$group: {
_id: "$type",
root: {
$first: "$$ROOT"
}
}
},
{
$replaceRoot: {
newRoot: "$root"
}
}
])
我有这个示例数据
[
{id:1, type:"A", date:2022-01-01},
{id:2, type:"A", date:2022-01-02},
{id:3, type:"B", date:2022-01-01}
]
但是如何只获取每种类型的一个数据,就像我必须得到这样的输出。
[
{id:2, type:"A", date:2022-01-02},
{id:3, type:"B", date:2022-01-01}
]
如果具有相同的类型值,则只获取一个数据。 我试过 $group $first 但 none 工作。 任何人都可以帮助我吗? 我应该在 mongodb 中编码什么?
不确定什么不适合您,但 $group
和 $first
(或 $last
)是可行的方法,如下所示:
db.collection.aggregate([
{
$group: {
_id: "$type",
root: {
$first: "$$ROOT"
}
}
},
{
$replaceRoot: {
newRoot: "$root"
}
}
])