2017-08-14 37 views
0

如何編寫一個MongoDB shell查詢,該查詢將返回在特定日期之後創建的所有對象的文檔?如何刪除基於ObjectId的文檔(_id)

類別,如:

{ 
"_id" : ObjectId("59918c9014450171039b7e1f"), 
"cont_id" : "59918c9014450171039b7e1d", 
"systemdate" : ISODate("2017-07-25T00:09:00.567Z"), 
} 

db.itemtable.count({"systemdate" : { $gte: ISODate("2017-07-25T00:00:00.000Z")}}) 

返回 - 15210

db.itemtable.count({'_id': {'$gt' : ObjectId("59918c9014450171039b7e1f")}}) 

返回 - 987652個

謝謝! Bharathi

+0

不使用續({} ...)使用發現({ 「systemdate」:{$ GTE:ISODate(「2017-07- 25T00:00:00.000Z「)}}) – Jackstine

回答

0

db.itemtable.find({"systemdate" : { $gte: ISODate("2017-07-25T00:00:00.000Z")}}).count() 返回這些文件的計數。

如果你想光標到這些文件,使用時只需找到db.itemtable.find({"systemdate" : { $gte: ISODate("2017-07-25T00:00:00.000Z")}})

+0

謝謝你們倆!我們都知道ObjectId包含當前時間戳以及其他一些細節,找到大於(>)「some id」的ObjectId的任何方式,該列表在特定時間戳後創建的ObjectId的列表中。 db.itemtable.count( {'_id':{'$ gt':ObjectId(「59918c9014450171039b7e1f」)}})' –

+0

需要一些時間戳作爲Unix時間戳'08/16/2017 @ 8:48 am(UTC)'是1502873284什麼轉換爲0x599406C4。那麼你只需要'db.data.find({_ id:{$ gt:ObjectId(「599406c40000000000000000」)}})' – JJussi