我正在重新解决这个问题,因为我认为这个问题应该是从这个与mongodb-know-index-of-array-element-matched-with-in-operator相关的单独线程.
我正在使用mongoDB,实际上我正在使用查找,更新等简单查询来编写所有查询(无聚合).现在我读了许多SO帖子,看看这个例如mongodb-aggregation-match-vs-find-speed.现在我想到为什么增加服务器上的计算时间,因为好像我将计算更多,然后我的服务器负载将变得更多,所以我尝试使用聚合,我认为我现在正朝着正确的方向.但是后来我之前的问题andreas-limoli告诉我没有使用聚合,因为它很慢并且在服务器上使用简单的查询和计算.现在字面上,我正在处理我应该使用什么的delimma,我正在使用mongoDB一年,但是当数据大小增加时我对它的性能没有任何了解,所以我完全不知道应该选择哪一个.
还有一件事我没有在任何地方找到,如果聚合比因为$ lookup而不是因为$ lookup,因为$ lookup是我考虑使用聚合的最重要的事情因为否则我必须连续执行许多查询然后计算在服务器上,在聚合面前我看起来很差.
我还读到了将数据从一个管道传递到另一个管道时对mongodb聚合的100MB限制,因此人们如何有效地处理这种情况,以及如果他们打开磁盘使用情况,那么因为磁盘使用速度比人们处理这种情况的速度慢.
此外,我获取了30,000个样本集合,并尝试使用$ match运行聚合并查找查询,我发现聚合比查找查询要快一点,聚合需要180ms才能执行,因为查找需要220毫秒才能执行.
请帮助我,请大家帮助我.
我Google App engine在我正在使用的地方运行我的服务器,nodejs并且我已经mongoDB, Elasticsearch and Redis部署了所有其他服务Compute engine.
现在由于安全问题,在所有数据库实例(MongoDB,ES,Redis)上,我不想接受来自任何地方的请求,而只是来自App engine.
有什么我可以使用VPN OR Networks Or Firewall(Using Target tags and Source tags)或任何东西只接受来自app引擎的请求?
我读到了在防火墙部分使用标签,我可以将app引擎实例定义为源标签,并将引擎标签计算为目标标签,这样我的目标标签只能监听源标签.
请帮助我们,我很长一段时间都在寻找这个,但没有找到任何有用的东西.
UPDATE
I tried to set my app_engine instance tag and then used that tag to the firewall rule associated with all services(MongoDB, ES, Redis) so that only services will get connected by app engine only, but it is not working now i am not able to …
google-app-engine google-compute-engine google-cloud-platform
我在谷歌云计算引擎中使用版本为3.4的mongoDB群集,实际上过去一周我的数据库被黑客攻击了,这就是为什么我考虑使用授权以便我可以避免这些类型的攻击.我们添加授权,我看到这篇文章如何对创建-MongoDB的复制集群,现在我已经加入了keyfile与chmod 0600对我的每一个集群节点的,但现在,当我试图加我的第一次admin user我收到以下错误我
use admin
switched to db admin
rs0:PRIMARY> db.createUser({user: "RootAdmin", pwd: "password123", roles: [ { role: "root", db: "admin" } ]});
2017-01-21T18:19:09.814+0000 E QUERY [main] Error: couldn't add user: not authorized on admin to execute comm
and { createUser: "RootAdmin", pwd: "xxx", roles: [ { role: "root", db: "admin" } ], digestPassword: false, writ
eConcern: { w: "majority", wtimeout: 300000.0 } } :
_getErrorWithCode@src/mongo/shell/utils.js:25:13
DB.prototype.createUser@src/mongo/shell/db.js:1290:15
@(shell):1:1
Run Code Online (Sandbox Code Playgroud)
我到处搜索但是没有找到任何关于我为什么会收到此错误的信息.
谁能帮助我,我怎么能解决这个错误.
更新 我的配置文件在下面给出了每个实例 …
我正在使用 $lookup 加入 mongoDB 中的不同集合。现在我在这里面临一个问题,假设我有下面给出的 3 个集合。
用户电影
{
"_id": ObjectId("5834ecf7432d92675bde9d83"),
"mobile_no": "7941750156"
"movies" : ["dallas00", "titanic00", "green_mile00"]
}
Run Code Online (Sandbox Code Playgroud)
电影
{
"_id" : ObjectId("4834eff7412d9267556d9d52"),
"movie_name" : "Dallas Buyer's Club",
"movie_id": "dallas00",
"active": 0
}
Run Code Online (Sandbox Code Playgroud)
电影评论
{
"_id": ObjectId("1264eff7412d92675567h576"),
"movie_id" : "dallas00",
"comment": "what a great movie.",
"time_posted": "1480516635131"
},
{
"_id": ObjectId("1264eff7412d92675567h578"),
"movie_id" : "dallas00",
"comment": "awesome movie.",
"time_posted": "1480516635141"
},
{
"_id": ObjectId("1264eff7412d92675567h567"),
"movie_id" : "titanic00",
"comment": "titanic awesome movie.",
"time_posted": "1480516635132"
},
{
"_id": ObjectId("1264eff7412d92675567h579"),
"movie_id" : "green_mile00", …Run Code Online (Sandbox Code Playgroud)