ObjectId
Mongoose 로 MongoDB를 생성하고 싶습니다 . ObjectId
Mongoose 에서 생성자 에 액세스하는 방법이 있습니까?
-
이 질문은 처음부터 새로 생성하는 것에 관한 것
ObjectId
입니다. 생성 된 ID는 완전히 새로운 범용 고유 ID입니다. -
또 다른 질문은 기존 문자열 표현
ObjectId
에서 를 만드는 것에 대해 묻습니다 . 이 경우 이미 ID의 문자열 표현이 있고 (유니버설 일 수도 있고 아닐 수도 있음) ID를 .ObjectId
답변
에서 ObjectId
생성자를 찾을 수 있습니다 require('mongoose').Types
. 예를 들면 다음과 같습니다.
var mongoose = require('mongoose');
var id = mongoose.Types.ObjectId();
id
새로 생성 된 ObjectId
.
Mongoose # Types 문서Types
에서 객체에 대한 자세한 내용을 읽을 수 있습니다 .
답변
ObjectId
mongoose를 사용하여 다음과 같이 새 MongoDB를 만들 수 있습니다 .
var mongoose = require('mongoose');
var newId = new mongoose.mongo.ObjectId('56cb91bdc3464f14678934ca');
// or leave the id string blank to generate an id with a new hex identifier
var newId2 = new mongoose.mongo.ObjectId();
답변
클라이언트 측에서 mongodb ID를 생성해야했습니다.
mongodb 소스 코드를 파헤친 후 npm bson
lib를 사용하여 ObjectID를 생성하는 것을 발견했습니다 .
mongodb / mongoose 패키지 전체를 설치하지 않고 ObjectID 만 생성하면되는 경우 더 가벼운 bson
라이브러리를 가져올 수 있습니다 .
const bson = require('bson');
new bson.ObjectId(); // 5cabe64dcf0d4447fa60f5e2
참고 : bson-objectid
더 가벼운 npm 프로젝트도 있습니다.
답변
ES6 구문 사용
import mongoose from "mongoose";
// Generate a new new ObjectId
const newId2 = new mongoose.Types.ObjectId();
// Convert string to ObjectId
const newId = new mongoose.Types.ObjectId('56cb91bdc3464f14678934ca');