>웹 프론트엔드 >프런트엔드 Q&A >nodejs 객체 ID 쿼리

nodejs 객체 ID 쿼리

PHPz
PHPz원래의
2023-05-27 19:41:38593검색

데이터베이스 작업을 위해 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를 생성하고 이를 쿼리 기준으로 사용하여 단일 문서를 찾았습니다. 문서가 있으면 문서를 인쇄하고 데이터베이스 연결을 닫습니다.

  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();
  });
});

위 예에서는 ObjectId를 기준으로 "author" 필드에 중첩된 문서를 쿼리합니다. 하위 문서가 있으면 하위 문서를 인쇄하고 데이터베이스 연결을 닫습니다.

Summary

ObjectId는 MongoDB의 매우 중요한 데이터 유형 중 하나입니다. Node.js를 사용하여 데이터베이스 작업을 수행할 때 ObjectId 관련 작업에 능숙해야 합니다. 이 문서에서는 ObjectId를 통한 단일 문서 쿼리, ObjectId를 통한 여러 문서 쿼리, ObjectId를 통한 중첩 문서 쿼리 등 쿼리 작업에 ObjectId를 사용하는 방법을 소개합니다. 이 글이 모든 사람에게 도움이 되기를 바랍니다.

위 내용은 nodejs 객체 ID 쿼리의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:nodejs 배포 혼란다음 기사:nodejs 배포 혼란