【问题标题】:Mongodb php7, Update document by id?Mongodb php7,通过id更新文档?
【发布时间】:2016-04-01 03:57:53
【问题描述】:

当我升级到 PHP7 时,我从 mongo 移动到 mongodb 扩展。我唯一想不通的是按 id 更新文档。 Mongo 曾经有 MongoId 类来解析字符串中的 id,但我找不到 Mongodb 的任何等价物。

这是我所在的地方,但它不起作用

$collection->updateOne(['_id' => '567eba6ea0b67b21dc004687'], ['$set' => ['some_property' => 'some_value']]);   

【问题讨论】:

  • 你说的不起作用是什么意思?
  • 它不会更新文档,就像找不到它一样
  • mongodb 扩展虽然可以单独使用,但旨在与用户空间 mongo-php-library: github.com/mongodb/mongo-php-library 一起使用
  • 是的,updateOne 来自那个库

标签: php mongodb php-mongodb


【解决方案1】:

_id 应该是 BSON 的一个实例:

$collection->updateOne(['_id' => new \MongoDB\BSON\ObjectID('567eba6ea0b67b21dc004687')], ['$set' => ['some_property' => 'some_value']]);   

【讨论】:

  • 假设我有一个数组$array,它是文档的副本,除了一些修改之外,如果我将该数组作为第二个参数发送,是否可以更新原始文档?跨度>
  • @Lixus 根据文档,它应该可以工作:docs.mongodb.com/manual/reference/operator/update/set
猜你喜欢
  • 1970-01-01
  • 2021-02-25
  • 1970-01-01
  • 2014-02-05
  • 1970-01-01
  • 1970-01-01
  • 2013-12-04
  • 2022-01-18
  • 2019-11-08
相关资源
最近更新 更多