programing

문자열을 개체로 변환MongoDB의 ID

closeapi 2023. 5. 16. 22:41
반응형

문자열을 개체로 변환MongoDB의 ID

저는 Codeigniter와 MongoDB를 이용하여 API를 개발하고 있습니다.데이터베이스의 일부에서 개체에 이미지의 ID를 저장했습니다.문자열 대신 ID 형식입니다.이제 문자열 형식의 ID를 얻었고 그것을 사용하여 데이터베이스를 쿼리해야 합니다.

문자열을 개체로 "변환"하는 방법제가 질문을 할 수 있는 신분증이요?

이로부터:

34234234234234234234

대상:

ObjectID("34234234234234234234")

몽구스 사용:

var mongoose = require('mongoose');
var objectId = mongoose.Types.ObjectId('569ed8269353e9f4c51617aa');

기본 드라이버 사용(https://stackoverflow.com/a/21076589/3377073)

var ObjectId = require('mongodb').ObjectId;
doc._id = new ObjectId(doc._id); // wrap in ObjectID

당신은 당신의 mongo에서 ObjectId 기능을 요구하기만 하면 됩니다.

ObjectId = require('mongodb').ObjectID;

그런 다음 다음과 같이 사용할 수 있습니다.

ObjectId("34234234234234234234")

유성을 사용하는 경우

var id = new Mongo.ObjectID("34234234234234234234");

이제 mongodb 4.0 이상에서 문자열을 objectId로 변환할 수 있습니다.문자열 ID에서 개체로 변환할 새 기능이 있습니다.이드

여기서 $toObjectId 설명서를 볼 수 있습니다.

또는 더 나은 사용

var mongodb = require(‘mongodb’); //this might have been defined at the beginning of your code.
//now use it
query = {_id:mongodb.ObjectId('569ed8269353e9f4c51617aa')};

나머지는 똑같습니다.

(질문에서 발췌)


해결책을 찾았어요이렇게 하면 됩니다.

new MongoId('34234234234234234234');
import { ObjectId } from 'mongodb'
const query  = {"_id":ObjectId(req.params.productId)}

mongo DB 버전 v3.6.3

MongoDB ObjectId에 대한 문자열 입력을 고속 컨트롤러 코드에 저장하는 방법

const mongoose = require('mongoose');
var ObjectId = require('mongodb').ObjectId;
user: mongoose.Types.ObjectId(req.body.user)
console.log(user, typeof(user))

언급URL : https://stackoverflow.com/questions/7825700/convert-string-to-objectid-in-mongodb

반응형