Node.js Mongodb查找事件
我在monogdb上收集了大量日志事件,每个事件都有一个唯一的id 一个非常简单的例子:Node.js Mongodb查找事件,node.js,mongodb,Node.js,Mongodb,我在monogdb上收集了大量日志事件,每个事件都有一个唯一的id 一个非常简单的例子: 用户登录 用户创建了一个产品 用户创建了一个产品 用户重命名了一个产品 用户创建了一个产品 用户注销 我想找到一个特定的事件(比如第三个产品创建事件),我想在该事件之前获取10个事件,在该事件之后获取10个事件。 对于mongodb,这可能吗 我在用猫鼬和NodeJs 谢谢 如果您对事件具有唯一的时间戳,则此功能将起作用: Model.find({"event": "user created a p
- 用户登录
- 用户创建了一个产品
- 用户创建了一个产品
- 用户重命名了一个产品
- 用户创建了一个产品
- 用户注销
产品创建
事件),我想在该事件之前获取10个事件,在该事件之后获取10个事件。
对于mongodb,这可能吗
我在用猫鼬和NodeJs
谢谢 如果您对事件具有唯一的
时间戳
,则此功能将起作用:
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);
})
})
});