Rumah >hujung hadapan web >Soal Jawab bahagian hadapan >pertanyaan objectid nodejs
Apabila menggunakan Node.js untuk operasi pangkalan data, kami sering menggunakan MongoDB sebagai pangkalan data bahagian belakang, dan jenis data yang biasa digunakan dalam MongoDB ialah ObjectId. ObjectId ialah pengecam unik global yang terdiri daripada 12 bait, dan strukturnya adalah seperti berikut:
ObjectID("5f750930cc775b0c6b387532")
Dalam MongoDB, setiap dokumen mesti mengandungi medan "_id" untuk mengenal pasti dokumen secara unik. Jika anda tidak mentakrifkan medan "_id" secara eksplisit, MongoDB akan menjana ObjectId secara automatik untuk dokumen tersebut.
Dalam artikel ini, kami akan memperkenalkan cara menggunakan ObjectId untuk operasi pertanyaan dalam Node.js.
Kita boleh menggunakan ObjectId untuk menanyakan dokumen, berikut ialah contoh:
const MongoClient = require('mongodb').MongoClient; const ObjectID = require('mongodb').ObjectID; const url = 'mongodb://localhost:27017/test'; MongoClient.connect(url, (err, db) => { if (err) throw err; const dbo = db.db('test'); const query = { _id: ObjectID("5f750930cc775b0c6b387532") }; dbo.collection('users').findOne(query, (err, result) => { if (err) throw err; console.log(result); db.close(); }); });
Dalam contoh di atas, Kami mencipta ObjectId dan menggunakannya sebagai kriteria pertanyaan untuk mencari satu dokumen. Jika dokumen itu wujud, cetak dokumen dan tutup sambungan pangkalan data.
Jika kami ingin menanyakan berbilang dokumen menggunakan ObjectId, kami boleh menggunakan pengendali $in MongoDB. Berikut ialah contoh:
const MongoClient = require('mongodb').MongoClient; const ObjectID = require('mongodb').ObjectID; const url = 'mongodb://localhost:27017/test'; MongoClient.connect(url, (err, db) => { if (err) throw err; const dbo = db.db('test'); const query = { _id: { $in: [ObjectID("5f750930cc775b0c6b387532"), ObjectID("5f75093ecc775b0c6b387533")] } }; dbo.collection('users').find(query).toArray((err, result) => { if (err) throw err; console.log(result); db.close(); }); });
Dalam contoh di atas, kami menggunakan operator $in untuk menanyakan berbilang ObjectId. Jika dokumen itu wujud, cetak keputusan dan tutup sambungan pangkalan data.
Dalam MongoDB, dokumen boleh mengandungi dokumen bersarang dan kami boleh menggunakan ObjectId untuk menanyakan dokumen bersarang. Berikut ialah contoh:
const MongoClient = require('mongodb').MongoClient; const ObjectID = require('mongodb').ObjectID; const url = 'mongodb://localhost:27017/test'; MongoClient.connect(url, (err, db) => { if (err) throw err; const dbo = db.db('test'); const query = { "author.id": ObjectID("5f750930cc775b0c6b387532") }; dbo.collection('articles').find(query).toArray((err, result) => { if (err) throw err; console.log(result); db.close(); }); });
Dalam contoh di atas, kami menanyakan dokumen yang bersarang dalam medan "pengarang" oleh ObjectId. Jika subdokumen wujud, cetak subdokumen dan tutup sambungan pangkalan data.
Ringkasan
ObjectId ialah salah satu jenis data yang sangat penting dalam MongoDB Apabila kami menggunakan Node.js untuk operasi pangkalan data, kami perlu mahir dalam operasi ObjectId yang berkaitan. Dalam artikel ini, kami memperkenalkan cara menggunakan ObjectId untuk operasi pertanyaan, termasuk menanyakan satu dokumen melalui ObjectId, menanyakan berbilang dokumen melalui ObjectId dan menanyakan dokumen bersarang melalui ObjectId. Semoga artikel ini dapat memberi manfaat kepada semua.
Atas ialah kandungan terperinci pertanyaan objectid nodejs. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!