使用PHP库查找Mongo文档中的ID
作为一名IBM开发人员,这份新的工作意味着我可以玩转数据库为生(这是有史以来最了不起的事情了,我得认真对待)。在我的技术旅程中,我在MongoDB上花了一些时间,它是一个文档型数据库——但我遇到了一个抓取ID记录的问题。因此,下面的代码最终可以帮助我去实现所遇到的问题,我可以参考这些代码,并且如果有人也需要的话,也希望能对帮到你们。
MongoDB and ID
当我在collection插入数据时,我没有设置 _id字段;如果是空的,MongoDB将只生成一个ID并使用它,这对我来说是很好的。当我想获取数据生成标识符时,问题出现了。
如果我通过使用 db.posts.find()来检查我的数据,然而数据会像这样:
{ "_id" : ObjectId("575038831661d710f04111c1"), ...
因此,如果我想通过ID获取,我需要 ObjectId函数来调用ID。
使用PHP库
当我来使用PHP,我找不到这样的一个例子,就是使用新的 MongoDB PHP库以这种方式来使用ID(它是一个很好的库,可以使用它)。此库的旧版本使用一个类被称为 MongoID,并且我知道那不是我想要的——但我检查了文档,我发现它们已更新为指向新的等价!所以,这也是非常有用的,这样能让你知道是否只可以找到更旧的代码示例。
通过一个ID使用PHP库到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 ] ] );
在你遇到同样的问题时,希望能给一些指导,并且能为你尽可能的节省更多时间!
原文: Finding Mongo Document IDs Using the PHP Library(译者/孙思)

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Alipay Php ...

JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,

Artikel membincangkan pengikatan statik lewat (LSB) dalam PHP, yang diperkenalkan dalam Php 5.3, yang membolehkan resolusi runtime kaedah statik memerlukan lebih banyak warisan yang fleksibel. Isu: LSB vs polimorfisme tradisional; Aplikasi Praktikal LSB dan Potensi Perfo

Artikel membincangkan ciri -ciri keselamatan penting dalam rangka kerja untuk melindungi daripada kelemahan, termasuk pengesahan input, pengesahan, dan kemas kini tetap.

Menghantar data JSON menggunakan perpustakaan Curl PHP dalam pembangunan PHP, sering kali perlu berinteraksi dengan API luaran. Salah satu cara biasa ialah menggunakan perpustakaan curl untuk menghantar post ...

Penerapan prinsip pepejal dalam pembangunan PHP termasuk: 1. Prinsip Tanggungjawab Tunggal (SRP): Setiap kelas bertanggungjawab untuk hanya satu fungsi. 2. Prinsip Terbuka dan Tutup (OCP): Perubahan dicapai melalui lanjutan dan bukannya pengubahsuaian. 3. Prinsip Penggantian Lisch (LSP): Subkelas boleh menggantikan kelas asas tanpa menjejaskan ketepatan program. 4. Prinsip Pengasingan Antara Muka (ISP): Gunakan antara muka halus untuk mengelakkan kebergantungan dan kaedah yang tidak digunakan. 5. Prinsip Inversi Ketergantungan (DIP): Modul peringkat tinggi dan rendah bergantung kepada abstraksi dan dilaksanakan melalui suntikan ketergantungan.

Artikel ini membincangkan menambah fungsi khusus kepada kerangka kerja, memberi tumpuan kepada pemahaman seni bina, mengenal pasti titik lanjutan, dan amalan terbaik untuk integrasi dan debugging.

Sesi rampasan boleh dicapai melalui langkah -langkah berikut: 1. Dapatkan ID Sesi, 2. Gunakan ID Sesi, 3. Simpan sesi aktif. Kaedah untuk mengelakkan rampasan sesi dalam PHP termasuk: 1. Gunakan fungsi Sesi_Regenerate_ID () untuk menjana semula ID Sesi, 2. Data sesi stor melalui pangkalan data, 3.
