Ive는 어린 시절부터 MySQL을 사용했으며 여러 가지 이유로 MongoDB로 전환해야합니다.PHP/MongoDB 집계를 사용하여 배열의 문자열 수를 계산하십시오.
모든 PHP 오류를 MongoDB 컬렉션에 저장하는 로그를 작성합니다. 오류를 읽는 것은 문제가되지 않습니다. 간단한 find()를 사용하는 것은 꽤 쉽습니다. PHP 배열을 사용하여 데이터에 접근 할 수 있다는 점이 좋습니다.
이제 오류에 대한 통계를 원합니다. 내 컬렉션은 그래서 다음과 같습니다
{
"_id": ObjectId("51af10ca0e5e723c0a000000"),
"Errors": {
"2048": {
"0": {
"Message": "Declaration of ADODB_mysqli::MetaIndexes() should be compatible with ADOConnection::MetaIndexes($table, $primary = false, $owner = false)",
"File": "File.php",
"Line": NumberInt(29),
"Time": NumberInt(1370427591)
}
},
"2": {
"0": {
"Message": "Error",
"File": "File.php",
"Line": NumberInt(29),
"Time": NumberInt(1370427591)
},
"1": {
"Message": "Error",
"File": "File.php",
"Line": NumberInt(29),
"Time": NumberInt(1370427591)
}
},
"8": {
"0": {
"Message": "Undefined index: PluginLastAdded",
"File": "File.php",
"Line": NumberInt(36),
"Time": NumberInt(1370427594)
},
"1": {
"Message": "Undefined index: PluginLastAdded",
"File": "File.php",
"Line": NumberInt(36),
"Time": NumberInt(1370427594)
}
}
}
}
지금 내가 알고 싶은 얼마나 자주이 항목 occours에서 각 오류. 2048, 2, 8로 구분 된 목록을 작성한 다음 각 오류의 수를 계산하면 좋습니다.
많은 PHP 코드없이 MongoDB의 집계를 사용하면 가능합니까?
어떤 도움이 될지 모르지만 MongoDB는 MySQL과 180 ° 다른 견해를 가지고 있습니다. 스위치가 꽤 어렵습니다. Sammaye는 위에서 언급 한 무엇에 빌드하려면
한 가지 문제 귀하의 스키마를 사용할 수 있습니다.지도가 축소되어 있지 않으면 스키마를 쉽게 풀거나 집계 할 수 없습니다. 개인적으로 오류 코드가 키가 아니라 문서의 필드가되도록 변경하는 것이 좋습니다 – Sammaye
감사합니다.이 방법을 사용해 보겠습니다. 어쩌면 십자가를 지금 당장 올 수 있습니다. :) – Moe