pertanyaan objectid nodejs

PHPz
Lepaskan: 2023-05-27 19:41:38
asal
562 orang telah melayarinya

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")
Salin selepas log masuk

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.

  1. Menyiasat satu dokumen dengan ObjectId

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();
  });
});
Salin selepas log masuk

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.

  1. Menyiasat berbilang dokumen oleh ObjectId

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();
  });
});
Salin selepas log masuk

Dalam contoh di atas, kami menggunakan operator $in untuk menanyakan berbilang ObjectId. Jika dokumen itu wujud, cetak keputusan dan tutup sambungan pangkalan data.

  1. Menyiasat dokumen bersarang oleh ObjectId

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();
  });
});
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!