0
我有一个弱基础(field delimeter
保留日期)为每个用户的星期创建的文档。 每当用户会话过期时,我会检查以查看用户是否拥有该特定周的文档(以便所有更新都不会失败)如何创建一个空字段,如果该字段不存在于MongoDB中
我试图避免2次提取:1)
提取以检查文档是否存在, 2)
创建另一个查询,创建或不创建该文件,具体取决于它是否已经存在
我想知道在mongo
内是否有这样的功能...创建if不存在,否则什么都不做?
目前,upsert
inserts
如果它不存在或updates
如果它在那里。因此,这不是一个有效的解决方案。我需要if (!exist){ update/insert) else { do nothing }
public function createUserSocialWallForUser(MongoId $userMongoID, $delimeter) {
$db = $this->db()->socialWall;
$where = array('userId' => $userMongoID,
'delimeter' => $delimeter
);
$data = array( 'userId' => $userMongoID, 'delimeter' => $delimeter, 'event' => array());
$option = array ('upsert' => true);
$db->update($where, $data, $option);
}