저는 Mongo 초보자이며이 스키마를 작동 시키려고합니다.
트래픽이 많은 웹 사이트에서 발생하는 이벤트를 기록하기위한 것으로, 특정 동작이 발생하는 횟수를 늘리는 것입니다.
{
_id: "20110924",
Vals:[
{ Key: "SomeStat1": Value: 1},
{ Key: "SomeStat2": Value: 2},
{ Key: "SomeStat3": Value: 3}
]
}
,
{
_id: "20110925",
Vals:[
{ Key: "SomeStat1": Value: 3},
{ Key: "SomeStat8": Value: 13},
{ Key: "SomeStat134": Value: 63}
]
}, etc.
여기 _id는 날짜이며, 다른 통계의 배열과 발생한 횟수입니다. 이 날에는 통계가 없으며 통계 키는 동적 일 수 있습니다.
저는 이러한 업데이트를 달성하기위한 가장 효율적인 방법을 찾고 있으며, 경쟁 조건을 피하고 있습니다. 이상적인 모든 원자력입니다.
$ inc를 시도 할 때 막혔어요. 내가 upsert해야 지정하면 전체 문서를 조건부로 일치 시키려고하고, 중복 키에 실패합니다. $ addToSet에 대해서도 마찬가지로 - {Key : "SomeStat1"}을 사용하여 addToSet을 실행하면 전체 문서와 일치하므로 중복되지 않는다고 간주되어 기존의 SomeStat1 값과 함께 삽입됩니다.
가장 좋은 방법은 무엇입니까? $ addToSet이 일치하는 방법을 제어 할 수있는 방법이 있습니까? 아니면 다른 스키마가 필요합니까?
미리 감사드립니다.
그게 유효한 json이라고 생각하지 않습니까? – Nik
문제점 주요 문서에 임베딩 할 때 강하게 유형화 된 클래스 (C# 드라이버) 로의 직렬화가 불가능하다고 생각합니다. – Nik
opp 죄송합니다. 나는 항상 당신이 C# 드라이버로 deserialize해야한다고 생각하지 않는다. 확실한 해결 방법이있다. –