2016-06-03 3 views
1

가정하자 나는 다음과 같은 스키마를 사용하여 MongoDB의 모음이 있습니다MongoDB를 이동 배열 요소

{ 
    "_id": ObjectID, 
    "Entries": [ 
     { 
      "_id": ObjectID, 
      "Content": string 
     } 
    ] 
} 

지금 내가 그 요소를 이동 한 후 배열의 "항목"에서 요소의 "콘텐츠"필드를 편집 할을 요소가 마지막으로 변경되었을 때 배열이 내림차순으로 정렬되도록 첫 번째 인덱스 0으로 설정합니다. 이 작업을 하나의 db.collection.update에 넣을 수있는 '원자'쿼리로 수행 할 수 있습니까?

그렇지 않은 경우 UNIX 타임 스탬프를 사용하고 쿼리 할 때이를 정렬해야합니까? 성능 차이가 눈에 띄는가?

답변

0

배열 내에서 objectId를 사용하는 경우이 ID의 일부는 타임 스탬프입니다.

즉, 언제 필드를 만들 었는지 확인할 수 있습니다. 마지막 업데이트를 처리해야하는 경우 - 타임 스탬프 필드는이 문제를 해결합니다. 개인적으로 배열 위치에서 릴레이하지 않기 때문입니다.

objectID 및 python에 대한 자세한 내용보기 here