我是 MongoDB 的新手,正在尝试执行我的第一次更新。
我的users
collection
那个是由一个插入语句填充的。现在,我想向field
authCode
特定用户添加或插入一些数据。
我的问题是,当我执行以下功能时,整个用户数据将被该更新语句中的信息替换。我的理解是,通过使用upsert
我会insert
或update
一个users
集合。鉴于用户已经存在,我希望只authCode
创建或更新该字段。
谁能指出我做错了什么?
public function addAuthCode( array $userId, $code ) {
$user = $this->db()->user;
$user->update(
$userId,
array( 'authCode' => $code ),
array( 'upsert' => true, 'safe' => true )
);
}