使用Windows GUI工具在MongoDB中查找和删除文档

时间:2016-07-15 00:07:44

标签: mongodb nosql

好的,我是一个基于SQL Server的DBA,但是有一个使用MongoDB作为核心组件的商业关键应用程序,问题是它变得太大了。 ("大型"并不重要,我试图积极主动!)

具体来说,它有一个"消息日志"超过400 GB的集合,其中日期戳实际存储为2元素数组[Int64,Int32],第0个元素是一些时间度量(第1个元素总是' 0&#39 ;)

例如,一份文件:

{
    "_id" : ObjectId("55ef63618c782e0afcf346cf"),
    "CertNumber" : null,
    "MachineName" : "WORKERBEE1",
    "DateTime" : [ 
        NumberLong(635773487051900000), 
        0
    ],
    "Message" : "Waited 00:00:30.0013381 to get queue lock: Specs to verify",
    "ScopeStart" : false
}

只是因为2比1更好,另一个示例文档:

{
    "_id" : ObjectId("55ef63618c782e0afcf323be"),
    "CertNumber" : null,
    "MachineName" : "WORKERBEE2",
    "DateTime" : [ 
        NumberLong(635773487056430453), 
        0
    ],
    "Message" : "Waited 00:00:30.0012345 to get queue lock: Specs to verify",
    "ScopeStart" : false
}

我需要弄清楚两件事:

  1. 那是什么" DateTime"实际意思?它不是Unix纪元时间(秒或毫秒);即使我去除尾随的0,它代表(毫秒)6/20/2171,所以,除非我们在这里建立时间机器,否则没有意义。如果我去除最后6位数字,则意味着2/23/1990,但即使这似乎也不可能,因为这个应用程序自2000年初以来才存在。 (AFAIK)

  2. 假设我们计算出#1,我们是否可以使用某种命令删除(删除)早于的集合中的所有文档,比如1/1/2016?

  3. 同样,我是一个SQL人,所以试着用这种方式解释使用类似物,例如: "这就像你的WHERE子句"等等。

    PS:是的,我通过Find objects between two dates MongoDBHow do I convert a property in MongoDB from text to date type?这样的问题进行了阅读,但到目前为止还没有任何内容突然出现在我身上。

0 个答案:

没有答案