小编Gui*_*dre的帖子

与关系数据库相比,使用像MongoDB这样的无模式数据库有什么好处?

我习惯使用像MySQL或PostgreSQL这样的关系数据库,并结合使用Symfony,RoR或Django等MVC框架,我觉得它很有用.

但是最近我听说很多关于MongoDB的非关系型数据库,或者引用官方定义,

一个可扩展,高性能,开源,无架构,面向文档的数据库.

我真的很感兴趣,我希望了解下一个项目的所有选项,并选择最好的技术.

在哪些情况下使用MongoDB(或类似数据库)比使用"经典"关系数据库更好?MongoDB与MySQL的优势一般是什么?或者至少,为什么它如此不同?

如果你有指向文档和/或示例的指针,它也会有很大的帮助.

database mongodb

94
推荐指数
3
解决办法
6万
查看次数

如何在Symfony中创建自定义yaml配置文件

我想要做的很简单:将数据存储在我想要稍后阅读的自定义配置文件中.

我创建something.yml了我放在全局config目录中的文件.它看起来像这样:

prod:
  test:  ok

dev:
  test: ko

all:
  foo:  bar
  john: doe
Run Code Online (Sandbox Code Playgroud)

然后我复制了config_handlers.yml并将其放在config目录中,并在文件顶部添加了以下内容:

config/something.yml:
  class:    sfDefineEnvironmentConfigHandler
  param:
    prefix: something_
Run Code Online (Sandbox Code Playgroud)

但如果我打电话,sfConfig::get("something_foo");我会继续NULL.

我做错了什么?我只想读取值,所以不需要创建一个自定义配置处理程序,对吧?

我已经阅读了这里的文档:http://www.symfony-project.org/book/1_2/19-Mastering-Symfony-s-Configuration-Files即使我正在运行1.4(我不认为改变了自那时候起).

编辑:当然我可以使用,sfYaml::load()但我想以更好的方式做事.

yaml symfony1 configuration-files symfony-1.4

18
推荐指数
3
解决办法
1万
查看次数

Doctrine2(Doctrine 2.1)在Symfony2中急切加载

假设我的Symfony2项目中有两个实体:Category和Article(包含许多文章的类别).

在我CategoryRepository,我有这个方法:

findAllDummy(){
  return $this->createQueryBuilder('c')
              ->leftJoin('c.Articles a')
              ->getQuery()->getResult();
}
Run Code Online (Sandbox Code Playgroud)

如果我记得很清楚,在Symfony1.4(以及Doctrine的相应版本)中,返回的对象的"articles"属性将由相应的Article对象填充.现在,在Symfony2中,返回Proxy对象.

因此,如果我遍历特定类别的文章,将执行与迭代一样多的查询.

foreach($category->getArticles() as $article){
  echo $article->getDoctrine()
               ->getRepository('')getTitle();
}
Run Code Online (Sandbox Code Playgroud)

我知道这是Doctrine2.1的默认延迟加载行为.

问题1:这是一个更好的解决方案?N个查询而不是1个.

我尝试通过执行以下操作强制执行加载!

findAllDummy(){
  return $this->createQueryBuilder('c')
              ->leftJoin('c.articles a')
              ->getQuery()
              ->setFetchMode('Category', 'articles', 'EAGER')
              ->getResult();
}
Run Code Online (Sandbox Code Playgroud)

但结果仍然相同.

问题2:如何在Doctrine2中强行加载?

doctrine lazy-loading symfony doctrine-orm

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

如何在Symfony 1.4中实现帮助?

我想创建自己的帮助器,但无法在Google上找到任何有关Symfony 1.4/Doctrine的帮助.

我想这与创建myClassHelper.class.phpin lib/helpers/或者某事有关,但我不知道要实现什么,或者是否必须覆盖特定的方法.

任何帮助,将不胜感激!

symfony1 helpers symfony-1.4

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

如何在Symfony 1.4中运行任务时使用更少的内存?

我正在使用Symfony 1.4和Doctrine.

到目前为止,我使用Symfony运行任务没有问题.但是现在我必须导入相当多的数据并将它们保存在数据库中,我才得以臭名昭着

"致命错误:允许的内存大小为XXXX字节耗尽"

在导入过程中,我只创建新对象,设置几个字段并保存它们.

我很确定这与我在保存数据时创建的对象数量有关.但是,取消设置这些对象并没有做任何事情.

是否有任何最佳实践来限制Symfony中的内存使用?

php memory doctrine symfony1 symfony-1.4

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

node.js的类似Sidekiq的工作系统是什么?

(这里提到的关于这个主题的大多数问题都有点陈旧,我想知道那些年来Node生态系统发生了哪些变化.)

我基本上是想在node.js的应用程序中实现一个作业队列.我听说过Sidekiq在Ruby世界中的行动以及它的工作有多棒,并且想知道节点中是否存在类似的东西.

工作人员将使用Javascript编写,因此它不必是多语言(如果是,那就很好,但绝对不是必需的).

一个很大的优点是可视化当前正在运行的作业,失败的作业等.

你们用的是什么?你知道哪些lib /服务符合这些要求?

javascript job-queue job-scheduling node.js

7
推荐指数
2
解决办法
6485
查看次数

如何在Symfony中格式化getUpdatedAt()类型的日期?

我想在Symfony 1.4中更改日期的格式

默认的是:

<?php echo $question->getUpdatedAt(); 
// Returns 2010-01-26 16:23:53
?>
Run Code Online (Sandbox Code Playgroud)

我希望我的日期格式如下: 26/01/2010 - 16h23

我尝试使用format_date辅助DateHelper类.

不幸的是,API相当空(关于它真的需要做些什么.)

浏览帮助器的源代码,我发现可以传递第二个参数format.

我假设它使用与PHP的日期函数相同的语法.但这是它输出的内容(与上面相同):

<?php sfContext::getInstance()->getConfiguration()->loadHelpers('Date');
// [...]
 echo format_date($question->getUpdatedAt(),'d/m/y - H\hi')
// Returns 26/23/2010 - 16\4i
Run Code Online (Sandbox Code Playgroud)

我敢肯定,我不是第一个在这方面遇到麻烦的人,但我一直在谷歌上搜索,没有任何准确的信息显示出来.

你们有没有想过如何在Symfony 1.4中格式化日期?

php symfony1 date symfony-1.4

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

如何在Admin Generator中"排序"sfWidgetFormDoctrineChoice

我正在使用Symfony 1.4和Doctrine.

假设我有两个类:品牌和产品.

当我在基于Admin Generator的管理员中创建新产品时,我想从下拉列表中选择一个品牌.Admin Generator正在为我做这件事,自动创建一个sfWidgetFormDoctrineChoice.

问题是品牌是按照ID排序的.我希望他们的"标签"字段可以订购.

为了做到这一点,我在ProductForm课堂上做了以下几点:

$this->widgetSchema['brand_id']->addOption('order_by','label');
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

语法错误或访问冲突:1064 SQL语法中有错误; 检查与MySQL服务器版本对应的手册,以便在第1行的'a'附近使用正确的语法.失败的查询:"SELECT b.id AS b__id,b.external_id AS b__external_id,b.label AS b__label,b.created_at AS b__created_at,b.updated_at AS b__updated_at FROM brand b ORDER BY la"

声明的顺序真的很奇怪.我不明白为什么它似乎削减了命令的名称.

编辑:显然'order_by'选项期望数组作为第二个参数.它期望什么价值?

doctrine symfony1 symfony-1.4 admin-generator

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

为什么在rails中创建销毁链接需要默认的javascript文件?

我今天想在Rails中创建一个基本的"destroy"链接,所以我写了这个:

 <%= link_to "destroy me", @company, :method=>:delete
 %>
Run Code Online (Sandbox Code Playgroud)

生成的代码是:

<a href="/companies/1"
data-method="delete"
rel="nofollow">destroy me</a>
Run Code Online (Sandbox Code Playgroud)

在我的路线,通常

resources :companies
Run Code Online (Sandbox Code Playgroud)

我的摧毁行动在我的控制器里.

但无论何时我点击链接,我都会被重定向到该show动作.奇怪的.

事实证明我的布局中没有包含以下行:

<%= javascript_include_tag :defaults %>
Run Code Online (Sandbox Code Playgroud)

包含它后,销毁链接有效!

为什么?为什么我需要包含默认的javascript标记才能使其正常工作?

由于我不想使用原型,我如何只包含我需要的文件?

ruby-on-rails ruby-on-rails-3

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

如何检测Google地图中是否已达到每天25000个请求限制?

我正在使用Google Maps Javascript API v3开发网站.

API的免费版本每天限制25000个请求.但是如果达到这个限制会发生什么?

有没有办法检测到已达到请求限制,因此可以显示后备Google Maps Image API地图?

javascript google-api google-maps-api-3

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

Actionscript的Number类'toFixed()方法返回奇怪的值

我正在用数字进行一些计算,并且只想打印一个整数(没有小数的数字).

我认为类的toFixed()方法Number可以解决问题,而且大部分时间都可以.但很多时候会返回奇怪的值.这里有两个例子:

  • Number(0.002).toFixed(0)返回 "0."时 Number(1.002).toFixed(0)返回 "1"(没有句点)

  • 偶尔Number(0.002).toFixed(0)回来"1"

不用说,这不是预期的行为.我没有正确使用这种方法吗?

**编辑:**我知道我必须要做int(0.002),0但我想了解这种奇怪的行为.

apache-flex air actionscript actionscript-3

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

如何在Symfony 1.4中模拟错误500?

我创建了一个error500.php文件,web/errors/现在想测试它.

我试着把这一行放在我的一个动作中:

$this->getResponse()->setStatusCode(500);
Run Code Online (Sandbox Code Playgroud)

不幸的是它似乎被忽略了.

你们知道这里发生了什么吗?

我正在使用Symfony 1.4.

编辑: Firebug告诉我错误实际上已被触发,但页面仍在加载之后.而且我在生产环境中.

symfony1 symfony-1.4

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