小编Ada*_*ord的帖子

有没有办法恢复MongoDB中最近删除的文件?

我错误地删除了上次查询中的一些文档,有没有办法回滚我的上一个查询mongo集合.

这是我的上一个查询:

 db.datas.remove({ "name" : "some_x_name"}) 
Run Code Online (Sandbox Code Playgroud)

有没有回滚/撤消选项?我可以收回我的数据吗?

rollback mongodb

19
推荐指数
2
解决办法
5万
查看次数

如何以编程方式使用MongoDB预拆分基于GUID的分片密钥

假设我使用的是一个相当标准的32字符十六进制GUID,我已经确定,因为它是为我的用户随机生成的,所以它非常适合用作分片键来水平扩展我将要存储的MongoDB集合的写入用户信息(以及写入缩放是我主要关心的问题).

我还知道,我需要从至少4个分片开始,因为流量预测和一些测试环境完成的基准工作.

最后,我对我的初始数据大小(平均文档大小*初始用户数)有了一个不错的想法 - 大约120GB左右.

我想让初始加载更好,更快,并尽可能多地利用所有4个分片.如何预分割这些数据,以便利用4个分片并最大限度地减少初始数据加载期间需要在分片上发生的移动,分割等数量?

sharding mongodb

16
推荐指数
1
解决办法
6777
查看次数

MongoDB日记如何工作

这是我的看法,我不确定这是对还是错:

日记日志是"重做"日志.它记录了数据文件的修改.

例如,我想将一条记录的字段值从"a"更改为"b",然后mongodb将找到如何修改dbfile(包括所有命名空间,数据,索引等),然后mongodb写入修改期刊.

之后,mongodb对dbfile进行了所有真正的修改.如果这里出现问题,当mongoDB重新启动时,它将读取日志(如果存在).然后它将更改dbfile的alter以使数据集保持一致.

因此,在日志中,不会记录要更改的数据,而是如何更改dbfile.

我对吗?我在哪里可以获得有关期刊格式的更多信息?

journaling mongodb durability

8
推荐指数
1
解决办法
3911
查看次数

如果元素不存在,则将元素推送到数组(无重复)

我有一个事件集合,我正在查找特定事件的类别,然后我使用$ push语句更新我的其他集合.问题是,当两个事件具有相同的类别时,它将创建一个我不想要的副本.

我知道有关upserts但我不确定它们是否是关于此的最佳方式?当涉及到如何实际编写一个与"$ push"-statement一起使用的upsert时,我有点困惑.

这就是我的更新现在的样子:

self.users.update({"user_id": event['userid']}, {'$push': {'campaigns': UserCampaign}})
Run Code Online (Sandbox Code Playgroud)

..哪里:

UserCampaign = {
        "id": campaign['id'],
        "name": campaign['name']
}
Run Code Online (Sandbox Code Playgroud)

"UserCampaign"会不时地填充相同的信息,因为我的收藏可能会非常庞大​​,我想尽可能高效地完成这项工作.

TLDR; 我想更新使用"推送"找到的文档中的数组,而不会有重复的风险.

python mongodb

6
推荐指数
2
解决办法
7951
查看次数

与先前版本相比,为什么2.6 MongoDB shell中的插入速度较慢?

将测试数据插入MongoDB时,我通常只使用一个for循环来执行大量的单个插入.使用2.4及以下版本,这非常快(约2秒),例如:

> db.timecheck.drop();
true
> start = new Date(); for(var i = 0; i < 100000; i++){db.timecheck.insert({"_id" : i})}; end = new Date(); print(end - start);
2246
Run Code Online (Sandbox Code Playgroud)

用2.6尝试同样的事情要慢得多(约37秒):

> db.timecheck.drop();
true
> start = new Date(); for(var i = 0; i < 100000; i++){db.timecheck.insert({"_id" : i})}; end = new Date(); print(end - start);
37169
Run Code Online (Sandbox Code Playgroud)

这要慢得多.那么,为什么新版本存在这样的差异,我该如何解决呢?

mongodb

6
推荐指数
1
解决办法
1558
查看次数

标签 统计

mongodb ×5

durability ×1

journaling ×1

python ×1

rollback ×1

sharding ×1