我有一个基于 MongoDB 的数据库,里面有大约 100K 到 500K 的文本文档,并且集合不断增长。系统应支持文档不同领域的查询,例如标题、类别、重要性等。
该系统是一个近乎实时的系统,每 5-10 分钟就有一次新的文档。
我的问题:
为了提高查询的性能,为文档的每个经常查询的字段(字段类型:小文本、数字、日期)定义一个单独的索引是个好主意吗?或者还有其他提高 MongoDB 查询性能的最佳实践?
indexing performance query-optimization mongodb database-performance
我的网站应用程序具有Facebook登录功能登录.我的应用程序出现在Facebook上.用facebook登录工作正常.
但应用程序具有链接和取消Facebook帐户到Facebook应用程序的功能.
("已链接"表示我们根据要求选择"允许"到FB应用)
facebook facebook-fql facebook-graph-api facebook-php-sdk web
我在表中有很多列,名称以field_t开头,我必须将其更改为field_c
例如,以下是用于更改其中一列的名称的ALTER TABLE语句:
ALTER TABLE my_table CHANGE field_t_class field_c_class longtext;
Run Code Online (Sandbox Code Playgroud)
如何更改遵循此模式的所有列,而不是逐个更改?
我在单个函数中有4-5个fql查询.每个人需要2-4秒才能执行.执行整个功能总共需要14-15秒.用户需要等待很长时间.所以我想减少处理时间.(PHP中没有很好的支持多线程概念.)
我在图api中听说过批量请求的概念.我已经google了很多但是不明白如何在图api中使用批量请求进行fql查询.
facebook facebook-fql facebook-graph-api facebook-php-sdk facebook-batch-request
我们如何检查用户喜欢的facebook应用程序?
我正在尝试创建一个Facebook应用程序,其中有两个不同的页面,如果用户喜欢那么page_1将显示,否则page_2显示.
smarty中是否有任何函数可以在smarty中检查类的有效对象?
假设$obj有一些价值.
如何$obj在smarty中检查'TestClass'的对象?
我正在尝试使用Graph API访问facebook用户的所有Feed.
但是我从V2.3到V2.4的反应非常不同.
在版本2.4中使用指令/ me/Feed没有收到帖子的完整信息只返回一些字段,而在以前的版本中可以访问所有信息.可以看出以下答案的差异.
V2.4
{
"data": [
{
"message": "A brincar com o Xico Zé.. ;)",
"created_time": "2015-07-11T18:23:59+0000",
"id": "10153293007088673_120153297333223673"
},
{
"message": "Ana Simões e Pedro Simões este é que é bom para a Liliana Assunção..",
"story": "Diogo Lopes shared Classic Hits 4FM's video.",
"created_time": "2015-07-11T14:20:59+0000",
"id": "10153293007088673_1360153296966998673"
}
],
"paging": {
. . .
}
}
Run Code Online (Sandbox Code Playgroud)
V2.3
{
"data": [
{
"id": "10153129496378673_120153297333223673",
"from": {
"name": "Diogo Lopes",
"id": "10153129496378673"
},
"message": "A brincar com o …Run Code Online (Sandbox Code Playgroud) 代码:
try {
$documentsFind = $client->$db->$collection->find([
// query
]);
if ($documentsFind) {
foreach ($documentsFind as $product) {
// code...
}
}
catch (MongoCursorException $e) {
echo "error message: ".$e->getMessage()."\n";
echo "error code: ".$e->getCode()."\n";
}
Run Code Online (Sandbox Code Playgroud)
错误:
致命错误:未捕获的MongoDB \ Driver \ Exception \ RuntimeException:未找到游标,游标ID:31837896248 ...
似乎光标确实存在但超时了?如何防止这种情况发生?
编辑添加:我尝试做:
if ($documentsFind) {
$documentsFind->immortal(true); // keep alive
foreach ($documentsFind as $product) {
// code...
}
}
Run Code Online (Sandbox Code Playgroud)
但这导致了Call to undefined method MongoDB\Driver\Cursor::immortal()。
我正在Facebook上制作一个非常简单的礼物应用程序.这里的主要问题是如何通知不使用该应用程序的用户关于他的朋友送他礼物的事实?
由于在旧的REST API上禁用了通知,并且无法对stream.publish未授权在墙上发布的朋友起作用,我很困惑.
if (!empty($_REQUEST["ids"]) ) {
$friends = ( isset($_REQUEST["ids"]) ) ? $_REQUEST["ids"] : 0;
if (empty($_POST['giftname']) ) {
$gname = '1.gif';
} else {
$gname = $this->input->post('giftname');
}
//$this->app_model->send_gift( $user, $friends, $gname,$facebook );
//$this->app_model->send_gift( $user, $friends, $gname,$facebook );
$to=$friends;
$from=$user;
$gift=$gname;
$total_send=count($friends);
for ($x=0; $x<$total_send; $x++ ) {
$this->db->query("INSERT INTO gifts (`giftfrom`, `giftto`, `gname`) VALUES( $from, $to[$x], \"$gift\" )");
try {
// Send notification
//$facebook->api_client->notifications_send($to[$x], 'sent you a gift using <a href="http://apps.facebook.com/tsaxikner/">???????? ???????</a>. <a href="http://apps.facebook.com/tsaxikner/">?????? ?????</a>.'); …Run Code Online (Sandbox Code Playgroud) php facebook facebook-graph-api facebook-php-sdk facebook-friends
我当前的项目具有1.6.3版的codeigniter框架。现在有2.1.0版的codeigniter的新版本。新版本中包含许多新的库和帮助程序。因此,我想将codeigniter升级到新版本,以具有更多的功能和鲁棒性。
所以我的问题是:
我写了如下cron作业:
#11 01 * * * /var/www/mail.php
Run Code Online (Sandbox Code Playgroud)
PHP代码
<?php
#!/usr/bin/php
$to = "test@test.com";
$subject = "php mail";
$message = "Hi this is simple message.";
$from = "example@example.com";
$headers = "From:" . $from;
mail($to,$subject,$message,$headers);
echo "Mail Sent.";
?>
Run Code Online (Sandbox Code Playgroud)
我试图通过调用php文件来发送邮件来设置cron作业.但我没有任何解决方案.请帮我.
php ×6
facebook ×5
facebook-fql ×2
mongodb ×2
alter ×1
codeigniter ×1
cron ×1
cursor ×1
exception ×1
feed ×1
frameworks ×1
indexing ×1
mysql ×1
performance ×1
select ×1
smarty ×1
sql ×1
timeout ×1
upgrade ×1
versioning ×1
web ×1