草庐IT

timeStamp

全部标签

mongodb - Mongodb $group 动态表达式

我有一组带有时间戳的日志,需要按一些不存在的“虚拟session”对这些日志进行分组。如果上一个session中的最后一次登录与本次session中的第一次登录之间有半小时,则新的分组session开始。例如我们有以下一组数据:[{id:"b4f0d0d7-495b-48db-95bf-d5ac0c8c9e9b"time:1461872894322timestamp:"Apr28,20167:48:14PM",},{id:"bf55ca2f-b544-406c-bed6-766a1204683d"time:1461872937941timestamp:"Apr28,20167:48:5

mongodb - 如何根据从 objectId 中提取的创建日期对 MongoDB 集合进行分组?

我想在mongoDB中使用组聚合,以便根据文档的创建日期对文档进行分组。我没有将创建日期保存为一个字段,但我知道我可以从我的ObjectId中提取这个日期。所以,我试着写这样的东西:db.sales.aggregate([{$group:{_id:{month:{$month:ObjectId("$_id").getTimestamp()},day:{$dayOfMonth:ObjectId("$_id").getTimestamp()},year:{$year:ObjectId("$_id").getTimestamp()}},averageQuantity:{$avg:"$quan

mongodb - 在蒙戈获得一个月的第一天。将 'yyyy-mm-dd-hh-mm-ss.SSS' 转换为 'yyyy-mm-01-00-00-00.000' 的时间戳

[{"rating":4,"createdAt":ISODate("2016-08-08T15:32:41.262+0000")},{"rating":4,"createdAt":ISODate("2016-08-08T15:32:41.262+0000")},{"rating":3,"createdAt":ISODate("2016-07-01T15:32:41.262+0000")},{"rating":5,"createdAt":ISODate("2016-07-01T15:32:41.262+0000")}]这是我的数据集。我用它来获取月数。[{"$project":{"cre

MongoDB 多个索引与子文档数组上的单个索引?

想知道哪种技术可以更有效地索引我需要跟踪的文档的各种时间戳,请记住我的应用程序在编写方面相当繁重,但在没有索引的情况下阅读却足够繁重,查询也慢。是为每个时间戳创建一个字段并为每个字段建立索引,还是将时间戳及其关联类型存储在数组字段中并为该数组的每个字段建立索引更好?第一个选项,单独的字段,以及每个字段的索引:{"_id":"...","Field1.Timestamp":'2011-01-0101:00.000',"Field2.Timestamp":'2011-01-0101:00.000',"Field3.Timestamp":'2011-01-0101:00.000',"Fiel

mongodb - Mongodb 从现有日期字段添加时间戳字段

我目前有一个包含如下文档的集合:{foo:'bar',timeCreated:ISODate("2012-06-28T06:51:48.374Z")}我现在想向该集合中的文档添加一个timestampCreated键,以便更轻松地按时间查询。我能够使用update和$set操作添加新列,并设置时间戳值,但我似乎是使用以下方法设置当前时间戳:db.reports.update({},{$set:{timestampCreated:newTimestamp(newDate('$.timeCreated'),0)}},false,true);但是,我还没有想出一种方法来添加此列并将其值设置为

MongoDB 查找和修改。它真的是原子的吗?帮助编写一个封闭的更新解决方案

我有Event文档,由嵌入的Snapshots组成。如果满足以下条件,我想将SnapshotA添加到Event中:该事件在快照A的5分钟内开始事件的最新快照不早于快照A的一分钟。否则....创建一个新的事件。这是我的findAndUpdate查询,它可能更有意义:Event.findAndModify(query:{start_timestamp:{$gte:newSnapshot.timestamp-5min},last_snapshot_timestamp:{$gte:newSnapshot.timestamp-1min}},update:{snapshots[newSnapsho

android - Mongoose 时间戳和纪元转换为 Date() 的问题

我有一个将timestamp选项设置为true的Mongoose模式。schema=newmongoose.Schema({...},{timestamps:true});现在我有一个Android应用程序,它使用System.currentTimeMillis()获取时间戳,它工作得很好,并且给出了自UNIX纪元时间以来的毫秒数。我将此数据发送到我的Node.js/Express服务器,这需要时间并仅返回在该特定日期之后创建的文档。//getalldocsrouter.get('/api/seekers',function(req,res){Seeker.find({createdA

mongodb - mongo 副本无法同步并从副本集开始

我有一个3节点副本mongo集群。我设法启动了前两个节点,但第三个节点失败了:[rsBackgroundSync]startingrollback:OplogStartMissingourlastoptimefetched:(term:33,timestamp:Jan2209:34:52:1).source'sGTE:(term:34,timestamp:Jan2209:35:25:1)hashes:(-9060984734961038872/2476820215102251535)2017-01-22T14:01:51.206+0000FREPL[rsBackgroundSync]n

mongodb 查找嵌套对象

我有很多具有以下结构的文档:{_id:ObjectId("519af935c1a9f8094f0002aa"),messages:[{message:"MessageA",timestamp:1369130219638},{message:"MessageB",timestamp:1369130249638},{message:"MessageC",timestamp:1369130291638}]}...而且我不知道如何查询所有包含1个多小时前发布的最后一条消息的文档。类似于:getalldocumentswheretimestamp其中now()是当前时间戳。有什么想法吗?

MongoDB/Mongoose 对日期字段的唯一约束

我已经在这样的架构上声明了一个唯一索引:varstateChangeEventSchema=mongoose.Schema({client_timestamp:{type:Date,required:true,unique:true},state:{type:String,required:true}})并且能够插入具有相同时间戳的文档。我希望违反约束。我认为这可能是因为它在嵌入式文档上,但我在常规文档上尝试过,它仍然允许。我错过了什么?编辑:我发现了问题。我未能创建另一个索引,无论出于何种原因阻止创建任何其他索引。我通过使用找到了这个:StateChange.on('index',f