我一直在尋找dynamodb作爲它目前唯一的託管完全可擴展的nosql系統,在那裏我可以發現,把db管理的頭痛帶走了。我現在有一個RSS feed索引系統,feed數據被插入到mongodb中,然後sphinxsearch循環遍歷整個數據庫並索引各個字段(以及我使用主+ delta索引,但不需要在此解釋)。php dynamodb - 如何做一個「(key1,key2,key3)」查詢中的hashkey?
隨着獅身人面像,我可以做複雜的查詢和排序,它給了我一個有序的文章ID的數組,一旦我用這些ID查詢mongo,然後重新排序mongo數組以匹配獅身人面像給我的順序。現在
function prepare_for_mongo($keys){
$results_keys_mongo = array();
if(sizeof($keys)>0){
foreach($keys as $key=>$value){
$results_keys_mongo[$key] = new MongoID($value);
}
}
return $results_keys_mongo;
}
function sort_mongo_results($documents,$keys){
$documents_sorted = array();
foreach($keys as $key){
$documents_sorted[$key] = $documents[$key];
}
return $documents_sorted;
}
function retrieve_records($keys) {
$m_keys = $this->prepare_for_mongo($keys);
if(!empty($m_keys)) {
$records = iterator_to_array($this->mongodb->find(array(
'_id' => array('$in' => $m_keys)
)));
$records = $this->sort_mongo_results($records,$keys);
} else {
return array();
}
}
,在我的追求遷移到dynamodb,我怎麼能實現與PHP的dynamodb類似的查詢,我可以通過HASHKEYS列表(唯一的哈希表示文章記錄),然後發電機給我的結果所有包含這些散列鍵的記錄?