Maison >interface Web >Questions et réponses frontales >requête d'identifiant d'objet nodejs
Lorsque nous utilisons Node.js pour les opérations de base de données, nous utilisons souvent MongoDB comme base de données principale, et un type de données couramment utilisé dans MongoDB est ObjectId. ObjectId est un identifiant globalement unique composé de 12 octets, et sa structure est la suivante :
ObjectID("5f750930cc775b0c6b387532")
Dans MongoDB, chaque document doit contenir un champ "_id" pour identifier le document de manière unique. Si vous ne définissez pas explicitement le champ "_id", MongoDB générera automatiquement un ObjectId pour le document.
Dans cet article, nous expliquerons comment utiliser ObjectId pour les opérations de requête dans Node.js.
Nous pouvons utiliser ObjectId pour interroger un document, voici un exemple :
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(); }); });
Dans l'exemple ci-dessus, nous avons créé un ObjectId et l'avons utilisé comme critère de requête pour trouver un seul document. Si le document existe, imprimez-le et fermez la connexion à la base de données.
Si nous voulons interroger plusieurs documents à l'aide d'ObjectId, nous pouvons utiliser l'opérateur $in de MongoDB. Voici un exemple :
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(); }); });
Dans l'exemple ci-dessus, nous utilisons l'opérateur $in pour interroger plusieurs ObjectIds. Si le document existe, imprimez les résultats et fermez la connexion à la base de données.
Dans MongoDB, les documents peuvent contenir des documents imbriqués et nous pouvons utiliser ObjectId pour interroger des documents imbriqués. Voici un exemple :
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(); }); });
Dans l'exemple ci-dessus, nous interrogeons les documents imbriqués dans le champ "auteur" par ObjectId. Si le sous-document existe, imprimez-le et fermez la connexion à la base de données.
Résumé
ObjectId est l'un des types de données très importants de MongoDB Lorsque nous utilisons Node.js pour les opérations de base de données, nous devons maîtriser les opérations associées d'ObjectId. Dans cet article, nous expliquons comment utiliser ObjectId pour les opérations de requête, notamment l'interrogation d'un seul document via ObjectId, l'interrogation de plusieurs documents via ObjectId et l'interrogation de documents imbriqués via ObjectId. J'espère que cet article pourra être utile à tout le monde.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!