2017-08-14 30 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