Tôi muốn truy vấn bộ sưu tập và nhận tài liệu đã tạo chưa đầy 3 giờ trước.Làm thế nào để truy vấn theo thời gian trong MongoDB với PHP?
$realtime = date("Y-m-d H:i:s");
$mongotime = New Mongodate(strtotime($realtime));
$mongotime = $mongotime - 3 hours; //PSEUDOCODE
$some_condition = array('time' => array('$lt'=>$mongotime));
$result = $db->collection->find($some_condition);
Có một cách hiệu quả để đưa
$ some_condition
phần mà không sử dụng NẾU tuyên bố trong PHP?
Tôi không thấy bất kỳ câu lệnh if nào trong mã của bạn ... thực sự là mã của bạn trông như thế nào? – dcrosta
Tôi nghĩ rằng bạn cũng có thứ tự tình trạng của bạn sai. '$ lt' đọc từ trái sang phải, vì vậy bạn muốn tương đương với PHP của' {time: {$ lt: mongotime}} ', sẽ là' mảng ('time' => array ('$ lt' => $ mongotime)) ' – dcrosta
@drcosta không, đây chỉ là mã giả mà tôi đang cố gắng thực hiện. Thay vì sử dụng Find(), lấy giá trị từ kết quả truy vấn và xác định điều kiện theo giá trị đó, tôi muốn nhận kết quả đủ điều kiện ngay lập tức mà không sử dụng bất kỳ câu lệnh If nào trong PHP. – InspiredJW