0

私はmongoクエリが初めてです。現在、私はこのようなコレクションを持っています。これは、d3 力指向グラフを作成するために使用されます。

{
"_id": "allesgute3",
"nodes": [{
  "id": "bmw@gmail.com",
  "count": 15,
  "nodeUpdatetime": 1525341732
}, {
  "id": "abc@gmail.com",
  "count": 10,
  "nodeUpdatetime": null
}, {
  "id": "xyz@gmail.com",
  "count": 8,
  "nodeUpdatetime": 1525408742
}, {
  "id": "wilson@gmail.com",
  "count": 4,
  "nodeUpdatetime": 1525423847
}, {
  "id": "niv@gmail.com",
  "count": 6,
  "nodeUpdatetime": 1525447758
}, {
  "id": "car@gmail.com",
  "count": 9,
  "nodeUpdatetime": 1525447763
},
{
  "id": "jason@gmail.com",
  "count": 1,
  "nodeUpdatetime": 1525447783
  }
],
"links": [{
  "source": "bmw@gmail.com",
  "target": "jason@gmail.com",
  "timestamp": 1525312111
}, {
  "source": "car@gmail.com",
  "target": "jason@gmail.com",
  "timestamp": 1525334013
}, {
  "source": "bmw@gmail.com",
  "target": "car@gmail.com",
  "timestamp": 1525334118
}]

}

mongo クエリを使用して、このような出力を生成したいと思います。基本的に、「nodes」の下にネストされたデータに対して、「topn」という新しいフィールドを追加し、1 から 5 までのカウントでランク付けします。残りの値は null です。誰でも助けることができますか?ありがとうございました!

{
"_id": "allesgute3",
"nodes": [{
  "id": "bmw@gmail.com",
  "count": 15,
  "nodeUpdatetime": 1525341732,
  "topn": 1
}, {
  "id": "abc@gmail.com",
  "count": 10,
  "nodeUpdatetime": null,
  "topn": 2
}, {
  "id": "xyz@gmail.com",
  "count": 8,
  "nodeUpdatetime": 1525408742,
  "topn": 4
}, {
  "id": "wilson@gmail.com",
  "count": 4,
  "nodeUpdatetime": 1525423847,
  "topn": null
}, {
  "id": "niv@gmail.com",
  "count": 6,
  "nodeUpdatetime": 1525447758,
  "topn": 5
}, {
  "id": "car@gmail.com",
  "count": 9,
  "nodeUpdatetime": 1525447763,
  "topn": 3
},
..............
4

1 に答える 1