日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > php >内容正文

php

php mongodb _id,PHP库 查询Mongodb中的文档ID的方法

發(fā)布時間:2024/9/19 php 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php mongodb _id,PHP库 查询Mongodb中的文档ID的方法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在IBM我的一份新工作是一名開發(fā)的后勤人員。那意味著我的大部分時間是在和數(shù)據(jù)庫打交道。在我的工作流程中,我花了一些時間在MongoDB上面——這是一個文檔數(shù)據(jù)庫。但是在通過ID來檢索記錄這個操作上面我碰到了一些問題。下面的代碼是最終版本,以后碰到類似的問題我可以直接引用它。如果大家也需要,希望下面對大家有所幫助。

MongoDB 和 IDs

當(dāng)我向一個集合中插入數(shù)據(jù)的時候,我并沒有設(shè)置_id字段;如果這個字段是空的話,那么MongoDB將要自動生成一個ID來使用,這對我來說是非常不錯的。然而,當(dāng)我使用MongoDB生成的標(biāo)識符的時候,這樣就會出現(xiàn)問題。

如果我使用db.posts.find()來檢索我的數(shù)據(jù)(我的集合被稱為posts),那么數(shù)據(jù)開起來如下所示:

{ "_id" : ObjectId("575038831661d710f04111c1"), ...

因此,如果我想用ID來檢索數(shù)據(jù)的話,我還需要包含ObjectId方法來訪問ID。

使用PHP庫

當(dāng)我使用PHP來做這個事情的時候,我在使用這個新的PHP類庫的時并沒有找到一個合適的例子(但是,這個類庫確實是一個非常不錯的庫)。在以前的版本中,這個庫使用一個叫做MongoID的類來實現(xiàn)。但是我知道這并不是我想要的——但是我確實可以通過這個類來檢查文檔。因此如果你僅僅能找到以前代碼中的例子,那了解這個方法還是很有用的。

通過用這個PHP庫將一個ID傳給MongoDB,你需要構(gòu)造一個MongoDB\BSON\ObjectID實例。下面的例子就是通過文檔的Id來檢索博客中的文檔。

$post = $posts->findOne(["_id" => new MongoDB\BSON\ObjectID($id)]);

然后,我將要更新這條記錄——這個博客帖子在這條記錄中還包含有嵌入的評論,因此向得到_id的這條記錄中的評論集合中添加一個數(shù)組,

$result = $posts->updateOne(

["_id" => new MongoDB\BSON\ObjectID($id)],

['$push' => [

"comments" => $new_comment_data

]

]);

最后希望本文對大家有所幫助。謝謝大家對本站的支持!

時間: 2016-10-08

總結(jié)

以上是生活随笔為你收集整理的php mongodb _id,PHP库 查询Mongodb中的文档ID的方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。