2013-08-05 34 views

回答

1

有沒有什麼辦法讓那些基於OBJECTID

時間戳genrated在過去24小時內蒙戈集合中的ObjectID你可以調用JavaScript代碼,如:

date = new Date() 
date.setDate(date.getDate() - 1) 
yesterday = Math.floor(date.getTime()/1000).toString(16) 
db.coll.find({_id : {$gt : new ObjectId(yesterday + "0000000000000000")}} , {_id:1}) 

第一個和第二個陳述很直截了當:昨天的日期。

第三行創建昨天的4字節十六進制字符串。哪些是ObjectId的最左邊的4個字節。

然後,用零填充ObjectId的8個最右邊的字節,因爲你不關心這些字節。這些MAC地址(3),PID(2)和一個正在運行的計數器(3)

所有您需要現在是查詢您的收藏(coll中的例子),並返回_id的

是什麼該算法genrate OBJECTID MongoDB中

There you are

+0

感謝您的幫助!我還有一個問題。我有主機中的mongo數據庫名稱列表。我想通過傳遞dataname作爲參數來執行下面的.js腳本。 – user2609099

+0

您可以使用腳本中的db.adminCommand('listDatabases')'讀取數據庫列表或使用任何js機制從文件讀取 –

相關問題