복붙노트

[MONGODB] 자바 스크립트 문자열에 OBJECTID (MongoDB를를) 변환

MONGODB

자바 스크립트 문자열에 OBJECTID (MongoDB를를) 변환

나는 자바 스크립트 문자열에 OBJECTID (MongoDB를)를 변환 할. 언제는 개체 양식 MongoDB를 얻을. 객체를 갖는 한 그와 같은 타임 스탬프, 둘째, INC, 기계. 나는 문자열로 변환 할 수 없습니다.

해결법

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

    1.이 시도:

    이 시도:

    objectId.str;
    

    해당 문서를 참조하십시오.

  2. ==============================

    2.여기서 문자열에 ObjectId가 변환하는 동작 예이며

    여기서 문자열에 ObjectId가 변환하는 동작 예이며

    > a=db.dfgfdgdfg.findOne()
    { "_id" : ObjectId("518cbb1389da79d3a25453f9"), "d" : 1 }
    > a['_id']
    ObjectId("518cbb1389da79d3a25453f9")
    > a['_id'].toString // This line shows you what the prototype does
    function () {
        return "ObjectId(" + tojson(this.str) + ")";
    }
    > a['_id'].str // Access the property directly
    518cbb1389da79d3a25453f9
    > a['_id'].toString()
    ObjectId("518cbb1389da79d3a25453f9") // Shows the object syntax in string form
    > ""+a['_id'] 
    518cbb1389da79d3a25453f9 // Gives the hex string
    

    어떤 성공 toHexString 같은 다양한 다른 기능 ()을 시도해 봤어.

  3. ==============================

    3.셸에서

    셸에서

    ObjectId가 ( "507f191e810c19729de860ea"). STR

    JS에서 노드의 기본 드라이버를 사용하여

    objectId.toHexString ()

  4. ==============================

    4.사실, 당신이 시도 할 수 있습니다 :

    사실, 당신이 시도 할 수 있습니다 :

    > a['_id']
    ObjectId("518cbb1389da79d3a25453f9")
    > a['_id'] + ''
    "518cbb1389da79d3a25453f9"
    

    문자열 + ObjectId가 객체는 String 객체로 변환합니다.

  5. ==============================

    5.서버에서 : ObjectId가 (507f191e810c19729de860ea) ._ STR.

    서버에서 : ObjectId가 (507f191e810c19729de860ea) ._ STR.

    템플릿에서 {{collectionItem._id._str}}.

  6. ==============================

    6.영업을 가정하면 위의 몽고 2.2의 valueOf () 메서드가 반환하는 16 진수 문자열로 객체의 표현을 사용하여, ObjectId가의 16 진수 문자열 값을하고 싶어. 이 또한 STR 속성을 얻을 수있다.

    영업을 가정하면 위의 몽고 2.2의 valueOf () 메서드가 반환하는 16 진수 문자열로 객체의 표현을 사용하여, ObjectId가의 16 진수 문자열 값을하고 싶어. 이 또한 STR 속성을 얻을 수있다.

    의 anubiskong 게시물에 링크는 모든 세부 사항을 제공, 여기에 위험이 예를 들어, 이전 버전에서 변경된 기술을 사용하는 것입니다 toString ().

  7. ==============================

    7., ObjectId가 (507f191e810c19729de860ea) :이 작품은, 당신은 MongoDB의 개체가 _id의 문자열 값을 얻기 위해, 당신은 단지 ObjectId가 (507f191e810c19729de860ea) .valueOf ()를 말한다;

    , ObjectId가 (507f191e810c19729de860ea) :이 작품은, 당신은 MongoDB의 개체가 _id의 문자열 값을 얻기 위해, 당신은 단지 ObjectId가 (507f191e810c19729de860ea) .valueOf ()를 말한다;

  8. ==============================

    8.사용 toString : VAR objectId.toString 문자열 = ()

    사용 toString : VAR objectId.toString 문자열 = ()

    (3.0 +) 최신 노드 MongoDB를 기본 드라이버와 함께 작동합니다 :

    http://mongodb.github.io/node-mongodb-native/3.0/

  9. ==============================

    9.당신은 문자열로 ObjectId가 변환 MongoDB를 버전 4.0에 도입 $의 toString 집계를 사용할 수 있습니다

    당신은 문자열로 ObjectId가 변환 MongoDB를 버전 4.0에 도입 $의 toString 집계를 사용할 수 있습니다

    db.collection.aggregate([
      { "$project": {
        "_id": { "$toString": "$your_objectId_field" }
      }}
    ])
    
  10. ==============================

    10.그냥이 사용합니다. _id를 $ OID

    그냥이 사용합니다. _id를 $ OID

    그리고 당신은 ObjectId가 문자열을 얻을. 이 객체와.

  11. ==============================

    11.정말 재미이 발견 그러나 그것은 나를 위해 일한 :

    정말 재미이 발견 그러나 그것은 나를 위해 일한 :

        db.my_collection.find({}).forEach((elm)=>{
    
        let value = new String(elm.USERid);//gets the string version of the ObjectId which in turn changes the datatype to a string.
    
        let result = value.split("(")[1].split(")")[0].replace(/^"(.*)"$/, '$1');//this removes the objectid completely and the quote 
        delete elm["USERid"]
        elm.USERid = result
        db.my_collection.save(elm)
        })
    
  12. ==============================

    12.이 간단한 트릭을 사용하여 객체. $ 아이디

    이 간단한 트릭을 사용하여 객체. $ 아이디

    나는 여기에 내가 무슨 짓을, 몽고 ID의 배열을 얻고있다.

    JQuery와 :

    ...
    success: function (res) {
       console.log('without json res',res);
        //without json res {"success":true,"message":" Record updated.","content":[{"$id":"58f47254b06b24004338ffba"},{"$id":"58f47254b06b24004338ffbb"}],"dbResponse":"ok"}
    
    var obj = $.parseJSON(res);
    
    if(obj.content !==null){
        $.each(obj.content, function(i,v){
            console.log('Id==>', v.$id);
        });
    }
    
    ...
    
  13. from https://stackoverflow.com/questions/16478552/convert-objectid-mongodb-to-string-in-javascript by cc-by-sa and MIT license