Php MongoDB更新嵌套数组

Php MongoDB更新嵌套数组,php,javascript,mongodb,Php,Javascript,Mongodb,我在mongodb中有一个简单的结构,带有嵌套数组。如何更新搜索的值? 我见过这样一些使用数字的例子: invited.0.used: true 但这不是我要搜索的,因为我不知道这个元素在我的列表中的什么位置,所以我如何才能将数组更新为true,其中键是84026702?如果我有100个数组,如何更新其中的键是43938432呢 { "_id" : ObjectId("4fed972f61d69aa004000000"), "name" : "mezo", "invit

我在mongodb中有一个简单的结构,带有嵌套数组。如何更新搜索的值? 我见过这样一些使用数字的例子:

invited.0.used: true
但这不是我要搜索的,因为我不知道这个元素在我的列表中的什么位置,所以我如何才能将数组更新为true,其中键是84026702?如果我有100个数组,如何更新其中的键是43938432呢

{
    "_id" : ObjectId("4fed972f61d69aa004000000"),
    "name" : "mezo",
    "invited" : [
            {
                    "key" : 40928710,
                    "used" : false
            },
            {
                    "key" : 84026702,
                    "used" : false
            }
    ]
}
这基本上是你想要的,应该很好地工作。查看mongodb中的位置运算符:

或者在PHP中(您的问题已标记),您可以执行以下操作:

$mongo->collection->update(array('invited.key' => 84026702), array('invited.$.used' => true));
这基本上是你想要的,应该很好地工作。查看mongodb中的位置运算符:

或者在PHP中(您的问题已标记),您可以执行以下操作:

$mongo->collection->update(array('invited.key' => 84026702), array('invited.$.used' => true));