在给定条目/获取记录绝对ID之前获取表中的记录数

时间:2011-12-15 10:11:51

标签: mongodb

我知道某些条目的_id(ObjectID);有没有办法从表格开始/它之前的记录数量中得到它的相对位置,没有编写任何代码

*(这些内容是调试某些应用程序所必需的,这些应用程序具有“无删除”策略以及增量记录号和内存中的集合)*

UPD :仍在寻找本地方式来做这些事情,但这里有一些perl糖果:

#!/usr/bin/perl -w
use MongoDB;
use MongoDB::OID;
use strict;
my $ppl = MongoDB::Connection->new(username=>"root", password=>"toor")->webapp->users->find();

my $c = 0;
while (my $user = $ppl->next) {
    $c++;
    print "$user->{_id} $c\n" if ( $user->{'_id'} =~/4...6|4...5/);
}

1 个答案:

答案 0 :(得分:1)

这是不可能的。您可以可靠地使用ObjectID中的信息来了解同一集合中有多少旧文档。 ObjectId的“inc”部分接近但精确的值取决于驱动程序的实现(甚至可以是随机的),并且需要所有写入来自同一台机器的mongod管理单个集合。

TL; DR:否