国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MongoDB > 正文

PHP庫 查詢Mongodb中的文檔ID的方法

2020-10-29 18:48:34
字體:
來源:轉載
供稿:網友

在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      ]]);

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 马公市| 衡阳县| 天峨县| 桂林市| 太和县| 铜川市| 措美县| 马尔康县| 海宁市| 揭东县| 睢宁县| 玉树县| 大庆市| 山丹县| 大港区| 航空| 镇江市| 永川市| 平度市| 通榆县| 永嘉县| 洛南县| 沙坪坝区| 宜州市| 介休市| 通道| 图木舒克市| 汕尾市| 乌什县| 衡山县| 大洼县| 乐陵市| 莱西市| 无为县| 洞口县| 恩平市| 社旗县| 南昌市| 金川县| 翁牛特旗| 调兵山市|