私が持っていると言う:
user {
_id: ObjId(..),
name: "John Smith",
computers: ["MSI desktop", "Mac Book"],
phones: ["Pixel", "Galaxy"]
}
以下の例では、コンピューターと電話のすべての異なる値を集計で見つけようとしていますが、次のように1つのフィールドとして検索します。
db.user.aggregate([
{
$group: {
_id: null,
"electronics": {$addToSet: ["$computers", "$phones"]}
}
},
])
明らかに上記はエラーをスローしたので、でそれを行う方法があるかどうか知りたい$addToSet
です。
$ setUnion演算子を使用して、任意の配列に表示されるすべての値を取得できます。
db.user.aggregate([
{
$group: {
_id: null,
"electronics": {$setUnion: ["$computers", "$phones"]}
}
},
])
現在テストすることはできませんが、必要なものを正確に入手する必要があります。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加