2013-01-21 224 views
1

如何編寫一個mongodb shell查詢,該查詢將返回特定日期後創建的所有對象的文檔(或僅文檔id)?我看到的例子類似下面...mongodb - 基於_id時間戳的查詢

return query based on date

但他們只返回時間戳,我想基於時間戳來查詢。我認爲邏輯不如尋找高於特定目標的對象那麼簡單,因爲如果mongodb被分割,那麼有多個服務器創建對象。

+1

我相信這可能是重複使用下面的鏈接:http://stackoverflow.com/questions/8749971/can-i -query-mongodb-objectid-by-date – Sammaye

+0

是的,你是對的。現在有道理,我拿出紀元時間的十六進制值,並加上「0000000000000000」,這會給我開始的基礎目標。謝謝, – Craig

+0

要查找2013-01-21後創建的所有對象,這將是查詢... db.User.find({'_ id':{'$ gte':ObjectId('50FCCB500000000000000000')}}) – Craig

回答

-1

我想你應該使用這個鏈接,你應該知道蒙戈的ObjectId如何返回時間戳 Mongo timestamp using mongo object id

+1

雖然這可能在理論上回答這個問題,[這將是更可取的](http://meta.stackexchange.com/q/8259)在這裏包括答案的重要部分,並提供供參考的鏈接。 – slm

+0

要查找在給定時間之前或之後創建的對象,應該使用以下查詢'code' db.demo.find({Date:{$ lt:ObjectId(「5217a543dd99a6d9e0f74692」).getTimestamp()。getTime(),$ gt:ObjectId 「5217a543dd99a6d9e0f74702」)。getTimestamp()。的getTime()}}) – Yogesh