복붙노트

[MONGODB] 어떻게 기본 드라이버를 MongoDB를 nodejs에서 ObjectId가 문자열을 변환하는?

MONGODB

어떻게 기본 드라이버를 MongoDB를 nodejs에서 ObjectId가 문자열을 변환하는?

나는 nodejs 환경에서 MongoDB를 기본 드라이버를 사용하고 있는데 나는이 작업을 수행 할 수있는 방법, ObjectId가에 ID 문자열 내 업데이트 쿼리에서 사용하기 위해 변환 할 필요가?

해결법

  1. ==============================

    1.ObjectId가와 (드라이버 문서를 nodejs)

    ObjectId가와 (드라이버 문서를 nodejs)

    당신이 (예를 들어, 웹 요청에서 수신)를 BSON ObjectId가를 나타내는 캐릭터 라인을 가질 때, 당신은 ObjectId가 인스턴스로 변환해야합니다

    const {ObjectId} = require('mongodb'); // or ObjectID 
    // or var ObjectId = require('mongodb').ObjectId if node version < 6
    
    const updateStuff = (id, doc) => {
      // `ObjectId` can throw https://github.com/mongodb/js-bson/blob/0.5/lib/bson/objectid.js#L22-L51, it's better anyway to sanitize the string first
      if (!ObjectId.isValid(s)) {
        return Promise.reject(new TypeError(`Invalid id: ${id}`));
      }
      return collection.findOneAndUpdate(
        {_id: ObjectId(id)}, 
        {$set: doc}, 
        {returnOriginal: false}
      );
    };
    
  2. ==============================

    2.

    var {ObjectId} = require('mongodb'); // or ObjectID Not Working
    

    @caubub에서 언급 한 바와 같이 나를 위해 작동하지 않습니다.

    내가 VAR를 사용할 때 = ( 'MongoDB를')를 필요로 OBJECTID ObjectId가 있습니다.; //하여 MongoDB에서 OBJECTID로 변환 문자열은 그때 기본 드라이브를 MongoDB를 nodejs에서 ObjectId가로 문자열을 변환 할 수입니다.

    http://mongodb.github.io/node-mongodb-native/2.2/api/ObjectID.html을 참조하여 방문을 위해

  3. from https://stackoverflow.com/questions/21076460/how-to-convert-a-string-to-objectid-in-nodejs-mongodb-native-driver by cc-by-sa and MIT license