我正在使用以下网址中的说明在Ubuntu 14.04计算机上安装MongoDB:https: //docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/
所以我跑:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
Run Code Online (Sandbox Code Playgroud)
然后:
echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
Run Code Online (Sandbox Code Playgroud)
其次是:
sudo apt-get update
Run Code Online (Sandbox Code Playgroud)
然后,我在更新结束时收到以下警告:
W:GPG错误:http://repo.mongodb.org trusty/mongodb-org/3.2发布:以下签名无效:BADSIG D68FA50FEA312927 MongoDB 3.2发布签名密钥
如果我忽略警告并尝试运行:
sudo apt-get install -y mongodb-org
Run Code Online (Sandbox Code Playgroud)
我明白了:
警告:以下软件包无法通过身份验证!
mongodb-org-shell mongodb-org-server mongodb-org-mongos mongodb-org-tools mongodb-org E:有问题,-y没用--force-yes
关于如何解决的任何想法?谢谢!
在MongoDB上运行正常的"查找"查询时,我可以通过在返回的游标上运行"count"来获得总结果计数(无论限制).因此,即使我将结果集限制为10(例如),我仍然可以知道结果总数为53(例如,再次).
如果我理解正确,聚合框架不会返回游标而只返回结果.因此,如果我使用$limit管道运营商,我怎么知道结果总数而不管上述限制?
我想我可以运行两次聚合(一次计算结果$group,一次$limit计算实际有限的结果),但这似乎效率低下.
另一种方法可以是$group在$limit操作之前将结果总数附加到文档(via ),但这似乎也是低效的,因为这个数字将附加到每个文档(而不是仅为该集合返回一次).
我在这里错过了什么吗?有任何想法吗?谢谢!
例如,如果这是查询:
db.article.aggregate(
{ $group : {
_id : "$author",
posts : { $sum : 1 }
}},
{ $sort : { posts: -1 } },
{ $limit : 5 }
);
Run Code Online (Sandbox Code Playgroud)
我怎么知道有多少结果可用(之前$limit)?结果不是游标,所以我不能只计算它.
如果这是一个愚蠢的问题,请提前道歉.我确实尝试过挖掘,但找不到答案.
我正在尝试设置链式支付(在沙箱环境中),但是收到错误520009(帐户受限制).尝试了几个电子邮件地址,他们都给了我这个错误.电子邮件地址没有在Paypal注册,但据我所知这不应该是一个问题,因为自适应支付模块不要求接收者提前拥有PayPal账户(尽管他们需要账户来实际获得这笔钱, 当然).
我究竟做错了什么?我确实将付款人设置为EACHRECEIVER(如某些线程所示),但错误仍然存在.
这是我得到的:错误代码:520009错误消息:帐户someone1@gmail.com受限制
这是我的代码:
// Config
$endpoint = trim("https://svcs.sandbox.paypal.com/AdaptivePayments/Pay");
$API_UserName = "MY_USERNAME_FROM_SANDBOX";
$API_Password = "MY_PASSWORD_FROM_SANDBOX";
$API_Signature = "MY_SIGNATURE_FROM_SANDBOX";
$API_AppID = "APP-80W284485P519543T";
$API_RequestFormat = "NV";
$API_ResponseFormat = "NV";
// Create request payload with minimum required parameters
$bodyparams = array (
"requestEnvelope.errorLanguage" => "en_US",
"actionType" => "PAY_PRIMARY",
"cancelUrl" => 'http://www.beta.com/cancel',
"returnUrl" => 'http://www.beta.com/return',
"currencyCode" => 'USD',
"feesPayer" => "EACHRECEIVER",
"actionType" => "PAY_PRIMARY",
"receiverList.receiver[0].email" => 'someone1@gmail.com',
"receiverList.receiver[0].amount" => '10',
"receiverList.receiver[0].primary" => 'true',
"receiverList.receiver[1].email" => 'someone2@gmail.com',
"receiverList.receiver[1].amount" => '5',
"receiverList.receiver[1].primary" => 'false', …Run Code Online (Sandbox Code Playgroud) 我试图让Nginx处理没有扩展名的php文件(即处理http:// localhost/sample的方式与处理http://localhost/sample.php的方式相同).
这是我的网站配置:
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
server_name localhost;
root /var/www;
index index.html index.php;
location ~ \.(hh|php)$ {
fastcgi_keep_conn on;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location / {
try_files $uri $uri/ $uri.html @extensionless =404;
}
location @extensionless {
rewrite ^(.*)$ $1.php last;
}
}
Run Code Online (Sandbox Code Playgroud)
据我所知它应该做的伎俩.但是 - 它没有.尝试http:// localhost/sample只是让我到404页面(而http://localhost/sample.php工作正常).
打开调试时,我在日志中看到以下内容:
2015/07/19 15:37:00 [debug] 4783#0: *1 http script var: "/sample"
2015/07/19 15:37:00 [debug] 4783#0: …Run Code Online (Sandbox Code Playgroud)