對不起,但我是新來的MongoDB 我想我理解碎片的概念,以及如何通過哈希分片鍵跨服務器分佈數據 - 但我不確定你是如何知道你要查詢哪個分片。MongoDB無法插入東西沒有有效的分片鍵
例如 - 我有一個用戶的集合,它是分片的,並且有一個_id_hashed的索引(到目前爲止非常好 - 用戶均勻分佈的數據庫)然後我需要超時那些一直處於非活動狀態的用戶設定的時間
$c->update(array('session.lastLogged'=>array('$lt'=>$time - ($timeout*60))), array('$set' => array('session'=>'')));
我收到以下錯誤:
For non-multi updates, must have _id or full shard key ({ _id: "hashed" }) in query
不過,我不知道這個編號來查詢和會話數據會發生變化,所以不能充當片鍵
這是我的數據結構或查詢的問題嗎?