在mongodb中插入嵌入/嵌套文档的新数据

时间:2018-03-14 09:20:53

标签: php json mongodb

我尝试做的是使用PHP在现有嵌入式文档中插入新数据。人们已就此问过这个问题,但我的案例中有更多的嵌入式文档,所以我对如何做到这一点感到困惑。到目前为止我有这个JSON。

 "_id" : ObjectId("5aa7eb2eb57dce2fe0001280"),
    "name" : "CENTER-01",
    "data" : {
        "meter01" : {
            "magnitude01" : {
                "data" : "03/10/2012 11:09:47",
                "value" : 45
            },

我想在magnitude01上添加更多数据。所以JSON就像:

 "_id" : ObjectId("5aa7eb2eb57dce2fe0001280"),
    "name" : "CENTER-01",
    "data" : {
        "meter01" : {
            "magnitude01" : {
                "data" : "03/10/2012 11:09:47",
                "value" : 45
                "data" : "05/05/2013 12:38:45",
                "value" : 25
                "data" : "10/02/2015 16:45:12",
                "value" : 95
                "data" : "16/11/2017 15:12:32",
                "value" : 65
            },

如果您意识到,我会在文档data中添加更多valuemagnitude01。虽然我不知道它是否可能。但是,我对如何在其上添加更多数据感兴趣。 (无论数据是什么)

我已经尝试了几个代码,我在下面编辑了这个代码,因为我认为它是最接近正确代码的。

$id = new \MongoDB\BSON\ObjectID('5aa7eb2eb57dce2fe0001280');
$center->updateOne(
    ['_id' => $id],
    ['$push' => [array('data' => array('meter01' => array('magnitude01' => array(['data' : '03/10/2012 11:09:47', 'value' : 45 ]))))]]
);

我花了几个小时寻找任何解决方案,但我还没能做到。有人可以帮我这个吗?

0 个答案:

没有答案