Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将值移出对象_Python_Arrays_Python 3.x_Mongodb_Aggregation Framework - Fatal编程技术网

Python 将值移出对象

Python 将值移出对象,python,arrays,python-3.x,mongodb,aggregation-framework,Python,Arrays,Python 3.x,Mongodb,Aggregation Framework,我有一个mongo系列,看起来像这样 [{ "name": "foo", "place": "Paris", "other": { "var1": "asdf", "var2": "asdf", "var3": "sdfw", etc.... } },{ "name": "Bar", "place": "Paris", "other": { "var1": "a

我有一个mongo系列,看起来像这样

[{
    "name": "foo",
    "place": "Paris",
    "other": {
        "var1": "asdf",
        "var2": "asdf",
        "var3": "sdfw",
        etc....
    }
},{
    "name": "Bar",
    "place": "Paris",
    "other": {
        "var1": "asdf",
        "var2": "asdf",
        etc....
    }
}]
我需要将数据显示如下:

  [{
        "name": "foo",
        "place": "Paris",
        "var1": "asdf",
        "var2": "asdf",
        "var3": "sdfw",
        etc...
    },{
        "name": "Bar",
        "place": "Paris",
        "var1": "asdf",
        "var2": "asdf",
        etc....
    }]
因此,我希望删除另一个对象,但将所有值保留在其中。 实现这一目标的最佳方式是什么。 我可以使用Python3或mongo聚合。

您可以在下面使用和

您可以使用下面的和


用Python实现这一点在技术上是可行的,而且相当简单:

for obj in collection:
    obj.update(obj.pop("other"))

但是,正如Anthony Winzlet在回答中所解释的那样,将其留给mongodb应该会更快。

用Python实现这一点在技术上是可行的,而且相当简单:

for obj in collection:
    obj.update(obj.pop("other"))

但正如Anthony Winzlet在回答中所解释的那样,将其交给mongodb应该更快。

从来没有这样想过。太棒了!从来没有这样想过。太棒了!