-1
我有一个巨大的在monogdb上收集日志事件,每个事件都有一个唯一的id。Mongodb发现发生
一个很简单的例子:
- 用户登录
- ...
- 用户创建一个产品
- 用户创建一个产品
- 用户改名产品
- 用户创建一个产品
- ...
- 用户注销
我想找到一个特定发生(比如第三product create
事件),我想获取前10事件和这发生后10事件。 这是甚至可能与mongodb?
我使用的是与猫鼬的NodeJS
谢谢!
我有一个巨大的在monogdb上收集日志事件,每个事件都有一个唯一的id。Mongodb发现发生
一个很简单的例子:
我想找到一个特定发生(比如第三product create
事件),我想获取前10事件和这发生后10事件。 这是甚至可能与mongodb?
我使用的是与猫鼬的NodeJS
谢谢!
如果您对事件的独特timestamp
这将工作:
Model.find({"event": "user created a product"}).skip(2).exec(function (err, docs)
{
var myEvent = docs[0];
Model.find({timestamp: {$gt: myEvent.timestamp}}).limit(10).exec(function (error, records)
{
console.log(records);
});
});
更新: 如果你没有为每个事件的时间戳(这是真的错了),这应该工作:
Model.find({"event": "user created a product"}).skip(2).exec(function (err, docs)
{
var myEvent = docs[0];
Model.find({"_id": { "$lt" : myEvent._id}}).count().exec(function(error,count)
{
Model.find().skip(count).limit(10).exec(function(e,records)
{
console.log(records);
})
})
});