为了账号安全,请及时绑定邮箱和手机立即绑定

php增删mongdb字段

php增删mongdb字段

PHP
哈士奇WWW 2019-03-14 19:18:11
我司的点赞功能 mongodb结构如下 { "_id" : ObjectId("5a38c409fcd12baa083d6869"), "uid" : "1090692", "username" : "vvvv", "image" : "style/default/commonImg/headgirl.gif", "time" : 1513669641, "content" : "12312321", "likelist" : { "1090339" : { "uid" : "1090339", "username" : "xxx", "image" : "group1/M00/00/D9/wKgAE1oTkTKAdTPNAAEQcPzKoDA20.jpeg", "time" : 1513676247 }, "1090542" : { "uid" : "1090542", "username" : "aaa", "image" : "group1/M00/00/D8/wKgADVoOVaaAd0SvAAA8Kg_PvWI97.jpeg", "time" : 1513676255 } } } php代码如下 if (in_array($this->user['uid'],$keys)){ //如果已经点赞 $data = $talk->update($info,array('$unset'=>array("likelist.$userid"=>1)),array('upsert'=>true)); }else{ //如果没点赞 $data = $talk->update($info,array('$set'=>array("likelist.$userid"=>$userinfo)),array('upsert'=>true)); } 其中有一个问题就是当我点赞后又取消点赞,likelist为空时,再进行点赞,就会报一个这个错误 E11000 duplicate key error collection: Mdaxue.Talks index: _id_ dup key: { : ObjectId('5a38c409fcd12baa083d6869') } 虽然也有笨方法解决如果likelist为空 就删除这个字段但是总觉得会有更好方法解决他 ps:有好一点的php操作mongodb的文档吗?到处翻博客,博客上写的又不是很全 ,很蛋疼
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 228 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信