this document에 따라 사전 집계 된 성능 메트릭을 샤드 mongodb에 저장하려고합니다.pymongo 및 사용자 정의 _id 필드로 업다운
self.collection.update(query, data, upsert=True)
쿼리 :
나는 정도 같은 upsert에 존재하지 않을 수있는 레코드의 분 하위 문서 업데이트하기 위해 노력하고있어(self.collection
는 pymongo 수집 인스턴스)
{ '_id': u'12345CHA-2RU020130304',
'metadata': { 'adaptor_id': 'CHA-2RU',
'array_serial': 12345,
'date': datetime.datetime(2013, 3, 4, 0, 0, tzinfo=<UTC>),
'processor_id': 0}
}
데이터 :
{ 'minute': { '16': { '45': 1.6693091}}}
문제가 있음이 케이스 '분'에 하위 문서는 항상 마지막에 hour: { minute: metric}
항목 만 있고, 분 하위 문서는 다른 시간에 대한 새 항목을 만들지 않으며 항상 한 항목을 덮어 씁니다.
{ '$set': { 'minute': { '16': { '45': 1.6693091}}}}
을하지만 같은 것을 끝 :
나는 또한 $ 세트 스타일 데이터 입력이 시도했습니다.
내가 뭘 잘못하고 있니?
배열에 항목으로'hours : minutes'을 저장하지 않으면 위에서 언급 한 링크에 명시된 탐색 혜택이 무효화됩니까? 또한 "_id"에 포함 된 'u'는 거기에 존재하지 않으므로 유니 코드를 나타내는 Python 인쇄물입니다. 고마워, 나는 이것에 대해 생각할 것이다. –