Py学习  »  MongoDB

如何在Mongodb中将每个数组字段匹配到其他字段

DD DD • 6 年前 • 1087 次点击  

const test = [{
    "_id": 1,
    "name": "apple",
    "car": "ford"
},{
    "_id": 2,
    "name": "melon",
    "car": "ferrari"
},{
    "_id": 3,
    "name": "perl",
    "car": "Renaut"
}]

Mongodb的文档如下:

[{
  "name": "perl", "company": "A"
},{
  "name": "melon", "company": "B"
},{
  "name": "apple", "company": "C"
},{
  "name": "apple", "company": "D"
},{
  "name": "perl", "company": "E"
},{
  "name": "apple", "company": "F"
}]

我想用mongodb聚合得到这个结果:

[{
  "name": "perl", "company": "A", testInform: { "_id": 3, "name": "perl", "car": "Renaut"}
},{
  "name": "melon", "company": "B", testInform: { "_id": 2, "name": "melon", "car": "ferrari"}
},{
  "name": "apple", "company": "C", testInform: { "_id": 1, "name": "apple", "car": "ford"}
},{
  "name": "apple", "company": "D", testInform: { "_id": 1, "name": "apple", "car": "ford"}
},{
  "name": "perl", "company": "E", testInform: { "_id": 3, "name": "perl", "car": "Renaut"}
},{
  "name": "apple", "company": "F", testInform: { "_id": 1, "name": "apple", "car": "ford"}
}]

我想用聚合 $match 和 $facet 等等,但我不知道该怎么做。你能推荐一个解决方案吗?

非常感谢您阅读本文。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/54316
文章 [ 3 ]  |  最新文章 6 年前