当我升级到PHP7时,我从mongo移至mongodb扩展名。唯一我无法弄清楚的是按id更新文档。 Mongo过去有MongoId类来解析字符串中的id,但我找不到Mongodb的任何等价物。Mongodb php7,通过id更新文档?
这是我在哪里,并且不工作
$collection->updateOne(['_id' => '567eba6ea0b67b21dc004687'], ['$set' => ['some_property' => 'some_value']]);
当我升级到PHP7时,我从mongo移至mongodb扩展名。唯一我无法弄清楚的是按id更新文档。 Mongo过去有MongoId类来解析字符串中的id,但我找不到Mongodb的任何等价物。Mongodb php7,通过id更新文档?
这是我在哪里,并且不工作
$collection->updateOne(['_id' => '567eba6ea0b67b21dc004687'], ['$set' => ['some_property' => 'some_value']]);
的_id
应该是BSON的实例:你说的*不起作用的意思
$collection->updateOne(['_id' => new \MongoDB\BSON\ObjectID('567eba6ea0b67b21dc004687')], ['$set' => ['some_property' => 'some_value']]);
* ? – styvane
它不会更新文档,就像它没有找到它 – Eric
'mongodb'扩展名虽然可以自己使用,但是可以与用户空间'mongo-php-library'一起使用:https: //github.com/mongodb/mongo-php-library – Andrea