【问题标题】:Save data in MongoDB subdocument with CakePHP使用 CakePHP 在 MongoDB 子文档中保存数据
【发布时间】:2011-07-06 22:29:57
【问题描述】:

在 CakePHP 中,我试图将数据保存在这样的子文档中:

$mongo = $this->User->getDataSource();
$mongo->update($this->User, array(
    array(
        '_id' => $tweep['User']['_id'],
        'Services._id' => $tweep['User']['Services']['_id']
    ),
    array('Services.$.following' => $following)
));

但显然我做错了什么,因为它不起作用。

$following 是一个数组,我想保存在具有特定 ID 的服务下。

这是数据源方法: https://github.com/ichikaway/cakephp-mongodb/blob/cake2.0/Model/Datasource/MongodbSource.php#L635

【问题讨论】:

  • 我不熟悉 php/cake 语法,但额外的封闭 array() 似乎不正确

标签: cakephp mongodb cakephp-2.0


【解决方案1】:

使用 updateAll() 方法代替 update()。

使用 MongoDbCollection 对象。 https://github.com/ichikaway/cakephp-mongodb/wiki/How-to-get-MongoObject-or-MongoCollection-object

【讨论】:

  • 我发现这样做是这样的:$Users = $this->User->getMongoDb()->users;
  • 这也对我有用,尽管我花了一些时间才弄清楚如何更新。我想知道是否有一种方法可以在不绕道 db 对象的情况下完成此 Cake 方式。无论如何,非常感谢您的提示!
猜你喜欢
  • 2021-11-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-10
  • 2015-12-01
  • 2020-01-28
  • 2019-10-30
相关资源
最近更新 更多