データベース操作に Node.js を使用する場合、バックエンド データベースとして MongoDB を使用することが多く、MongoDB で一般的に使用されるデータ型は ObjectId です。 ObjectId は 12 バイトで構成されるグローバルに一意な識別子であり、その構造は次のとおりです:
ObjectID("5f750930cc775b0c6b387532")
MongoDB では、各ドキュメントにドキュメントを一意に識別するための "_id" フィールドが含まれている必要があります。 「_id」フィールドを明示的に定義しない場合、MongoDB はこのドキュメントの ObjectId を自動的に生成します。
この記事では、Node.js でクエリ操作に ObjectId を使用する方法を紹介します。
ObjectId を使用してドキュメントをクエリできます。例を次に示します。
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(); }); });
上記の例では、ObjectId を使用してドキュメントをクエリできます。 , ObjectId を作成し、それをクエリ基準として使用して、単一のドキュメントを検索しました。ドキュメントが存在する場合は、ドキュメントを印刷し、データベース接続を閉じます。
ObjectId を使用して複数のドキュメントをクエリする場合は、MongoDB の $in 演算子を使用できます。以下は例です:
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(); }); });
上の例では、$in 演算子を使用して複数の ObjectId をクエリします。ドキュメントが存在する場合は、結果を印刷し、データベース接続を閉じます。
MongoDB では、ドキュメントにネストされたドキュメントを含めることができ、ObjectId を使用してネストされたドキュメントをクエリできます。以下に例を示します。
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(); }); });
上の例では、「author」フィールドにネストされているドキュメントを ObjectId でクエリします。サブ文書が存在する場合は、サブ文書を印刷し、データベース接続を閉じます。
概要
ObjectId は MongoDB の非常に重要なデータ型の 1 つです。データベース操作に Node.js を使用する場合、ObjectId の関連操作に習熟する必要があります。この記事では、ObjectId を使用した単一ドキュメントのクエリ、ObjectId を使用した複数のドキュメントのクエリ、ObjectId を使用したネストされたドキュメントのクエリなど、クエリ操作に ObjectId を使用する方法を紹介します。この記事が皆様のお役に立てれば幸いです。
以上がnodejsオブジェクトIDクエリの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。