PHP库 查询Mongodb中的文档ID的方法
在IBM我的一份新工作是一名开发的后勤人员。那意味着我的大部分时间是在和数据库打交道。在我的工作流程中,我花了一些时间在MongoDB上面——这是一个文档数据库。但是在通过ID来检索记录这个操作上面我碰到了一些问题。下面的代码是最终版本,以后碰到类似的问题我可以直接引用它。如果大家也需要,希望下面对大家有所帮助。
MongoDB 和 IDs
当我向一个集合中插入数据的时候,我并没有设置_id字段;如果这个字段是空的话,那么MongoDB将要自动生成一个ID来使用,这对我来说是非常不错的。然而,当我使用MongoDB生成的标识符的时候,这样就会出现问题。
如果我使用db.posts.find()来检索我的数据(我的集合被称为posts),那么数据开起来如下所示:
{ "_id" : ObjectId("575038831661d710f04111c1"), ...
因此,如果我想用ID来检索数据的话,我还需要包含ObjectId方法来访问ID。
使用PHP库
当我使用PHP来做这个事情的时候,我在使用这个新的PHP类库的时并没有找到一个合适的例子(但是,这个类库确实是一个非常不错的库)。在以前的版本中,这个库使用一个叫做MongoID的类来实现。但是我知道这并不是我想要的——但是我确实可以通过这个类来检查文档。因此如果你仅仅能找到以前代码中的例子,那了解这个方法还是很有用的。 通过用这个PHP库将一个ID传给MongoDB,你需要构造一个MongoDB\BSON\ObjectID实例。下面的例子就是通过文档的Id来检索博客中的文档。
$post = $posts->findOne(["_id" => new MongoDB\BSON\ObjectID($id)]);
然后,我将要更新这条记录——这个博客帖子在这条记录中还包含有嵌入的评论,因此向得到_id的这条记录中的评论集合中添加一个数组,
$result = $posts->updateOne( ["_id" => new MongoDB\BSON\ObjectID($id)], ['$push' => [ "comments" => $new_comment_data ] ]);
(资源库 www.zyku.net)
您可能感兴趣的文章
- 06-27Linux下MongoDB数据库实现自动备份详解
- 02-18详解清除MongoDB所占用的多余的磁盘空间的方法
- 02-18mongodb+php实现简单的增删改查
- 02-18MongoDB的基本安装与管理命令脚本总结
- 02-18Mongodb自增id实现方法
- 02-18mongodb中随机获取1条记录的实现方法
- 02-18MongoDB windows解压缩版安装教程详解
- 02-18PHP MongoDB GridFS 存储文件的方法详解
- 02-18MongoDB远程访问配置步骤详解
- 02-18CentOS 7下用yum快速安装MongoDB的方法教程
- 06-29火车头采集器FTP报错Failed to connec
- 02-10华为手机更换字体颜色教程
- 02-14华为手机钱包设置手势密码教程
- 12-12漫步者minibuds蓝牙耳机如何配对手机
- 12-05华为p50语音助手怎样唤醒
- 01-11快快生活通-快快生活通应用软件功能介
- 12-29阳光照明-阳光照明应用软件功能介绍
- 03-19索尼xm3连接手机蓝牙方法
- 01-12么么照-么么照应用软件功能介绍
- 02-10Python函数参数和注解的使用
最近更新
阅读排行
猜你喜欢
- 02-19WordPress后台管理菜单备份数据库详细
- 10-16漂亮简洁404错误页面404 Not Found
- 10-15华为p50pro启用隔空截屏方法介绍
- 08-15华为手机如何移动锁屏时间
- 09-09小米手机微信双开设置默认微信登录和
- 07-05Linux chmod命令
- 01-13蛋皮小说-蛋皮小说应用软件功能介绍
- 09-14苹果音乐历史记录怎样调出
- 04-05SQL Server 2005详细安装过程及配置
- 02-28华为儿童手表恢复出厂设置操作方法