小编mar*_*lka的帖子

动态Mandrill模板是否支持对集合进行迭代?

我想在我的电子邮件中添加动态内容,其中一部分是项目集(例如书籍列表).我希望Mandrill一次渲染这些项目(例如每本书一个表格行).有可能以某种方式在Mandrill中使用for循环吗?

foreach templates for-loop mandrill

5
推荐指数
1
解决办法
6571
查看次数

分配策略usePowerOf2Sizes如何工作?

分配策略 usePowerOf2Sizes 似乎对集合的填充因子没有影响。是否有我缺少的东西或这是一个错误?有没有一个示例说明usePowerOf2Sizes对填充因子的影响?

我已经尝试了以下实验:

  1. 在mongodb中插入几个文档。
  2. 随机选择几个文档,更改其大小,然后保存。
  3. 检查集合的填充因子。
  4. 重复步骤2和3,观察填充因子。

我希望对于精确匹配分配策略而言,此集合的填充因子将小于2个大小分配策略的幂。

但是,无论使用哪种分配策略,我真正观察到的都是相同的填充因子。

这是我使用的代码(适用于mongo 2.6.4版):

function randomChoice(arr) {
    return arr[getRandomInt(0, arr.length)]
}

function getRandomInt(min, max) {
  return Math.floor(Math.random() * (max - min)) + min;
}

function prepare(count, usePowerOf2Sizes) {
    db.aaa.drop();
    db.aaa.createIndex({"i": 1})

    for (var i=0; i<count; i++) {
        db.aaa.insert({"i": i});
    }
    db.runCommand({"collMod": "aaa", "usePowerOf2Sizes" : usePowerOf2Sizes })
}

function changeSizes(actionCount) {
    vals = [100, 150, 225, 340, 500, 760, 1200].map(function (n) {return Array(n + 1).join("a")})

    count = db.aaa.count()

    for (var i=0; i<actionCount; i++) …
Run Code Online (Sandbox Code Playgroud)

allocation padding mongodb

5
推荐指数
1
解决办法
761
查看次数

Mongodb的compact实际上是做什么的?

好吧,可能这应该从文档中清楚地看出,遗憾的是,情况并非如此。我的猜测是,该压缩文件会对集合进行某种碎片整理 - 这样集合的 paddingfactor 就会低于给定的值。然而,这似乎不是真的:

> db.aaa.stats().paddingFactor
1.9980000000000002
> db.runCommand ( { compact: 'aaa', paddingFactor: 1.1 } )
{ "ok" : 1 }
> db.aaa.stats().paddingFactor
1.9980000000000002
> db.runCommand ( { compact: 'aaa', paddingFactor: 3 } )
{ "ok" : 1 }
> db.aaa.stats().paddingFactor
1.9980000000000002
Run Code Online (Sandbox Code Playgroud)

如果这不是更改集合填充因子的方法,是否还有其他方法可以这样做?

padding mongodb compact-database

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