您可以使用 mongodump 从集合中转储最新的“x”文档吗?例如,在 mongo shell 中您可以执行:
db.stats.find().sort({$natural:-1}).limit(10);
mongodump 是否可以使用相同的功能?
我想解决方法是将上述文档转储到一个新的临时集合中,并对整个临时集合进行 mongodump,但如果能够通过 mongodump 来完成此操作,那就太好了。
提前致谢,
Michael
mongodump
没有完全暴露游标接口。
但你可以解决这个问题,使用--query
范围。
首先获取集合的文档总数
db.collection.count()
假设有 10000 个文档,您想要最后 1000 个。
为此,请获取要转储的第一个文档的 ID。
db.collection.find().sort({_id:1}).skip(10000 - 1000).limit(1)
在这个例子中,id 是"50ad7bce1a3e927d690385ec"
。
现在你可以喂食了mongodump
使用此信息,转储具有更高或相同 id 的所有文档。
$ mongodump -d 'your_database' -c 'your_collection' -q '{_id: {$gte: ObjectId("50ad7bce1a3e927d690385ec")}}'
UPDATE新参数--limit
and --skip
被添加到mongoexport
可能会在该工具的下一版本中提供:https://github.com/mongodb/mongo/pull/307 https://github.com/mongodb/mongo/pull/307
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)