2013-02-26 4 views
2

mongoexport를 사용하여 컬렉션을 json 파일 (아래 스크립트)로 내보내졌습니다. json 파일로 mongoexport 할 때 NumberLong이 누락되었습니다.

mongoexport -d db1 -c user --out /root/user_130226.json

유형 "NumberLong으로"와 이러한 매개 변수 내가 mongoimport를 사용할 때, 단어 "NumberLong으로는"너무 누락 단어 "NumberLong으로"없이 저장된 것을 발견했다.

mongodump 및 mongorestore를 사용하는 경우 동일합니다.

예 :

소스 :

>> "cd" : NumberLong(1361862291)

출력과 새로운 컬렉션에 수입 :) (브라켓에 따옴표로 NumberLong으로

>> "cd" : 1361862291

그러나 경우 그 수출 및 수입.

예 :

"U4"NumberLong으로 ("111018951303058"),

질문 :

1.이 중요합니까 경우 단어 "NumberLong으로" 수출되지 않았습니까?

2. 견적없이 NumberLong을 저장하는 것이 맞습니까?

고맙습니다.

답변

2
  1. 견적없이 NumberLong을 저장하는 것이 맞습니까?

숫자의 길이에 따라 Mongo의 동작처럼 보입니다. 다른 길이의 숫자로 파싱하여 추가 테스트를 수행 했습니까?

  1. 44 - 더 인용 >> NumberLong으로 (44)
  2. 1,338,585,352 - 없음 >> 인용 NumberLong으로 (1338585352)
  3. 13,385,853,520는 - 첨가하지 인용 >> "NumberLong으로 ("13385853520 ")
단어 "NumberLong으로는"수출되고 있지 않은 경우
  1. 가 중요합니까?

따옴표가 있거나 없으므로 Mongo의 동작이 정확합니다. 따라서 mongoexport/mongodump를 사용하여 익스포트 할 때 NumberLong()도 제거되어야합니다.

0
  1. 단어 "NumberLong"을 내 보내지 않는 것이 중요합니까?

의존 하시겠습니까?

mmongoexport이 이유는 이유는 BSON과 달리 JSON이 BSON이 할 수있는 NumberLong과 같은 고급 개체를 표현할 수 없기 때문입니다. 이 점을 염두에두고 그들은 단순히 벗겨 낸다.

이 파일을 다시 MongoDB로 가져 오려면 개체가 손실 될 수 있으므로 문제가 될 수 있습니다.

  1. 견적없이 NumberLong을 저장하는 것이 맞습니까?

예, NumberLong는 유일한 매개 변수로 양의 정수를 취할 수 있습니다.

+0

# 1의 경우 mongodump를 사용하여 BSON 파일로 출력했지만 mongorestore를 사용하여 DBON을 DB로 다시 가져올 때 " NumberLong with quotote" "이 누락되었습니다. "NumberLong with quote"가 인 경우 올바르게 덤프하고 복원 할 수 있습니다. – Cthoong

+0

'2. 견적없이 NumberLong을 저장하는 것이 맞습니까?' – Cthoong

+0

@Cthoong 다시 가져올 때 mongodump에 개체가 누락 된 경우 잘못된 것이 있습니다. – Sammaye

관련 문제