草庐IT

database-engine

全部标签

mongodb - 无法从第二个 VM 实例连接到 Google Compute Engine 上的 MongoDB 服务器

我在两个Ubuntu16VM上安装了MongoDb,这两个VM都托管在GoogleCloudComputeEngine的同一网络上。连接实例的内部IP为10.132.0.2,数据库实例为10.132.0.3。(https://gyazo.com/59f9086591a1d6673e8194a50fff51e1)我已经为我希望连接的实例打开了tcp27017。我使用gcloud控制台命令添加了它。(https://gyazo.com/0d158aa735c6967e278fac63d598721f)我也尝试打开tcp:1-65535;udp:1-65535进行测试,但没有结果。在任一实例

database - MongoDB - 过滤后获取嵌套数组大小的文档

问题:我正在尝试获取文档列表,并为每个文档计算给定值在同一文档的嵌套数组中出现的次数。我有一个使用聚合框架的工作示例,但我想知道是否有更好的方法来完成同样的事情,所以我可以对不同的方法进行基准测试。简化数据模型:集合“Raffles”中的单个文档:{"_id":objectId,"name":string,"ends_at":ISODate/Timestamp,..."subscribers":string[]//Listofuserids}集合由表示抽奖/抽奖事件的文档组成,其中包含名称和开始/结束日期。用户可以订阅抽奖事件。用户可以多次订阅同一个抽奖事件。95%的阅读查询都需要抽奖

database-design - 如何在这个嵌套文档结构(MongoDB)中进行查询?

(对不起,如果这是一个微不足道的问题。)我有这样的文档(Python语法):{'_id':SomeObjectId,'features':[{'id':'featureX','value':6},{'id':'featureY','value':45}]}使用此结构,可以轻松找到在特征列表中包含“featureX”的所有文档。但我也有兴趣检索子文档中关联的值。我认为在Python中,如果我通过这样的查询获取文档:db.articles.find({'features.id':'featureX'})那么我将需要遍历数组'特征”来找出正确的“值”。是否有其他类型的查询可以给我有趣的值(在

mongodb - 搜索实现 : ElasticSearch vs MongoDB vs Relational Database

我正在设计一个大型旅游市场代理机构,其中有170000家酒店和3000种房型。我的实体的简单表示是:Hotel:destination:Parisrooms:room_a:type:singleroom_b:type:doubleRoomType:name:doublepaxes(peopleinroom):2最基本的搜索操作需要用户提供目的地和所需房间的数量以及每个房间的人数。在我看来,获取所有提供所需房间的酒店的简单SQL查询似乎很简单,但我担心我的数据大小。到目前为止,我只使用过关系数据库,之前没有使用过NoSQL数据库(例如MongoDB和ElasticSearch)的经验,我

mongodb - mLab 连接错误 : Database name cannot have reserved characters for mongodb://

我在运行mLab命令以通过mongoshell连接时遇到mongoDB连接错误。使用下面的mLab命令在Windowsgitbash终端下运行。我没有为数据库名称使用任何保留字符,基本上只是一个小写字符串。有什么想法吗?使用mongoshell连接:mongods237967.mlab.com:37967/-u-pconnectingto:mongodb://:27017/ds237967.mlab.com%3A379672018-01-01T00:20:45.371-0800EQUERY[thread1]Error:Databasenamecannothavereservedchar

database - 计算符合条件的数组元素

我有一个名为“session”的mongoDB集合,参与者如下:[{"_id":5b894357a0c84d5a5d221f25,"conferenceName":"myFirstConference","startDate":1535722327,"endDate":1535722420,"participants":[{"name":"user1","origin":"internal","ip":"192.168.0.2"},{"name":"user2","origin":"external","ip":"172.20.0.3"},]},...]我想得到以下结果:[{"conf

python - 是否可以在 Google App Engine 中使用 PyMongo?

我正在尝试使用来自GoogleAppEngine服务的MongoDB数据库,这可能吗?如何在GoogleAppEngine上安装PyMongo驱动程序?谢谢 最佳答案 不,这是不可能的。阅读RuntimeEnvironment部分。在AppEngine上,您必须使用datastore,或者您可以使用HTTP调用访问的“数据库服务”。您可能想查看TyphoonAE. 关于python-是否可以在GoogleAppEngine中使用PyMongo?,我们在StackOverflow上找到一个

database - 在非关系数据库中存储喜欢

要点我在我的应用程序中实现了一个赞按钮。假设用户能够喜欢其他用户的产品。问题我现在想知道以下哪种方法是将这些点赞存储在非关系数据库(在我的例子中是MongoDB)中最有效和最可靠的方法。任何用户都不能对产品点赞两次,这一点很重要。可能的解决方案(1)存储那些喜欢产品本身的用户ID,并通过likes.length跟踪喜欢的数量//Productindatabase{likes:['userId1','userId2','userId3',...],...}(2)存储用户自己喜欢的所有产品,并通过产品上的数字跟踪喜欢的数量//Userindatabase{likedProducts:['p

node.js - 从 Google App Engine 连接到 MongoDB Atlas

我正在尝试在GoogleAppEngine标准环境中设置API,但在连接到远程MongoDB实例时遇到问题。我在MongoDBAtlas上使用免费的M0集群,所有IP都已列入白名单。GoogleAppEngine防火墙规则允许来自所有IP地址的所有流量,以确保连接请求不被阻止。但是,我无法连接到我的Mongo实例,并且出现以下错误:ERRORdb_connectionquerySrvESERVFAIL.gcp.mongodb.net要连接到MongoDB实例,我使用Mongoose并执行以下操作:constdb=awaitmongoose.connect(uri,{useNewUrlP

python - 查找速度 : State or Database?

我的服务器上有一堆单词列表,我一直在计划制作一个简单的开源JSONAPI,如果密码在列表1上,它就会返回,作为验证方法。我在Python中使用Flask执行此操作,如果存在输入,实际上只是返回。一个小问题:词表总计约1.5亿个条目和1.1GB的文本。我的API(最小)如下。将每一行存储在MongoDB中并重复查找,还是使用单例将整个内容存储在内存中,并在我调用app.run时在启动时填充它更有效?或者差异是主观的?此外,做后者甚至是好的做法吗?我想如果我向公众开放,查找可能会开始变得很费力。我也有人建议Trie进行高效搜索。更新:我做了一些测试,对于如此多的记录,文档搜索速度非常慢。对