2014-09-25 5 views
0

저는 mongify를 사용하여 mysql 데이터베이스를 mongodb로 마이그레이션하고 있습니다.mongify를 사용하여 마이그레이션

는 이렇게,이 개 질문 출연 :

내가 ID의 포함 된 배열을 위해 내 번역 파일을 선언 할 수있는 방법 1이 다른 모음에 저장하고 검색 할 수있는 개체 (에 대한 참조 json 객체로 포함하는 대신).

2 삽입 된 객체는 colections의 객체처럼 고유 ID를 가질 수 있습니다.? 다른 프로젝트에서는 임베디드 오브젝트를 쿼리 할 때이 접근법을 사용했지만, ID가 없으면 다른 필드를 사용해야합니다.

답변

0

불행히도 첫 번째 요청은 현재 Mongify에서 불가능합니다.이를 수행하려면 사용자 지정 스크립트가 필요합니다. 번역 파일을 보내려는 경우 자세한 정보를 제공 할 수 있습니다 (중요한 데이터는 반드시 제거하십시오).

숫자 2와 마찬가지로, 포함 된 개체는 고유 한 ID를 갖습니다. 특별한 일을 할 필요가 없습니다.

귀하의 질문에 대한 답변입니다. mongify에서

+0

가 그것을 가능하다 이 문제에 대한 도움을 청하십시오. 그 정말로 나의 마지막 희망! –

+0

안녕하세요, 데이비드, 네, 저에게 이메일을 보내 주시기 바랍니다. –

0

은 불가능하지만, 다음과 같이 MongoDB를 당신은 데이터를 변환 할 수 있습니다

//find posts has array of objects  
db.getCollection('posts').find({'_tags.0': {$exists: true}}).forEach(function (post) { 
    var items = []; 
    var property = '_tags'; 
    post[property].forEach(function(element){ 
     if(element._id !== undefined){ 
      items.push(element._id); 
     } 
    }); 
    if(items.length>0){ 
     post[property] = items; 
     db.posts.update({_id:post._id},post); 
    } 
}); 

소스 문서 :

{ 
    "_id" : ObjectId("576aa0389863482f64051c81"), 
    "id_post" : 130155, 

    "_tags" : [ 
     { 
      "_id" : ObjectId("576a9efd9863482f64000044") 
     }, 
     { 
      "_id" : ObjectId("576a9efd9863482f6400004b") 
     }, 
     { 
      "_id" : ObjectId("576a9efd9863482f64000052") 
     }, 
     { 
      "_id" : ObjectId("576a9efd9863482f6400005a") 
     } 
    ] 
} 

최종 문서 :

{ 
    "_id" : ObjectId("576aa0389863482f64051c81"), 
    "id_post" : 130155, 

    "_tags" : [ 
     ObjectId("576a9efd9863482f64000044"), 
     ObjectId("576a9efd9863482f6400004b"), 
     ObjectId("576a9efd9863482f64000052"), 
     ObjectId("576a9efd9863482f6400005a") 
    ] 
}