ホームページ  >  記事  >  ウェブフロントエンド  >  nodejsオブジェクトIDクエリ

nodejsオブジェクトIDクエリ

PHPz
PHPzオリジナル
2023-05-27 19:41:38582ブラウズ

データベース操作に Node.js を使用する場合、バックエンド データベースとして MongoDB を使用することが多く、MongoDB で一般的に使用されるデータ型は ObjectId です。 ObjectId は 12 バイトで構成されるグローバルに一意な識別子であり、その構造は次のとおりです:

ObjectID("5f750930cc775b0c6b387532")

MongoDB では、各ドキュメントにドキュメントを一意に識別するための "_id" フィールドが含まれている必要があります。 「_id」フィールドを明示的に定義しない場合、MongoDB はこのドキュメントの ObjectId を自動的に生成します。

この記事では、Node.js でクエリ操作に ObjectId を使用する方法を紹介します。

  1. 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 を作成し、それをクエリ基準として使用して、単一のドキュメントを検索しました。ドキュメントが存在する場合は、ドキュメントを印刷し、データベース接続を閉じます。

  1. 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 をクエリします。ドキュメントが存在する場合は、結果を印刷し、データベース接続を閉じます。

  1. 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。