Mongodb 在Mongo数据库中搜索

这是第一次使用非sql数据库,也是第一次使用mongo db我需要在mongo db内部搜索这就是我想要的,我在维护一个旧项目方面有一个非常小的任务。任何帮助、答案或链接都会很好。你可以在自己的网站上找到答案: 下面是一个java示例:

MongoDB与集合中的递归

在阅读MongoDB的介绍时,我有点困惑。数据库似乎由集合组成,集合由文档组成,字段组成,字段由键/值对组成。该值可以是文档 对我来说,这似乎很奇怪。如果文档包含一个键/值对,其值就是文档本身,那么数据库似乎会爆炸,因为它将无限递归 我刚刚下载了数据库引擎和驱动程序,所以还没有开始预演monog,但我对这句话有点困惑 可以在这里找到 有人能解释一下mongodb是如何防止无限递归的吗?你可能在说什么。 它们只是指向其他文档的链接(“其他do的地址”),而不是文档本身。 您无法像读取文档那样读取D

如何在MongoDB中进行类型检查?

这里的例子 提供以下代码 var story1 = new Story({ title: "A man who cooked Nintendo" , _creator: aaron._id }); _创建者的定义如下 _creator : { type: Schema.ObjectId, ref: 'Person' } 如果我将代码修改为以下内容 var story1 = new Story({ title: "A man who cooked Ni

mongodb中的SQL视图

我目前正在为一个我已经开始的项目评估mongodb,但是我找不到任何关于mongodb中SQL视图的等价物的信息。SQL视图提供的我需要的是将来自不同表(集合)的数据集中到一个集合中 我只想将一些文档聚集在一起,并将它们标记为单个文档。下面是一个例子: 我有以下文件: 抄送地址 美国大学地址 帐单地址 送货地址 但在我的应用程序中,我希望看到我的所有地址,并能够在单个文档中管理它们 在其他情况下,我可能只需要集合中的几个字段: 我有以下文件: fb_联系人 twitter\u联系人 谷歌联系人

Mongodb 我们可以在mongo db中的碎片之间动态移动文档吗?

我正在构建一个跟踪平台,它有以下用例 需要追踪50000辆车 每辆车每60秒中继一次其位置 获取返回X km范围内所有车辆的API 因此,我需要扩展写操作并实现查询隔离。 我可以创建一个以地理区域作为分片键(geohash)的分片集群。这将帮助我平衡写操作并实现查询隔离。但是,当车辆跨区域移动时会发生什么情况?在这种情况下,mangodb会自动将文档移动到新的切分吗?一旦写入记录,就不能更改切分键字段。除非删除原始区域中的记录并使用新区域插入,否则使用区域作为分片键将阻止您跨区域移动 在选择切分

Mongodb 如何在不同时区按年-月-日进行聚合

我有一个MongoDB,它将日期对象存储在UTC中。嗯,我想在不同的时区(CET)中按年、月、日进行聚合 这样做对于UTC来说效果很好: BasicDBObject group_id = new BasicDBObject("_id", new BasicDBObject("year", new BasicDBObject("$year", "$tDate")). append("month", new BasicDBObject("$month", "$

为什么我新创建的mongodb本地数据库增长到了24GB?

几天前我安装了一个mongodb副本集,我对它做了一些小测试,一切正常。今天我刚刚发现它的本地收藏增长到了24G rs0:PRIMARY> show dbs local 24.06640625GB test 0.203125GB 除“oplog.rs”外,其他集合看起来正常: 这是我的mongodb.conf dbpath=/data/db #where to log logpath=/var/log/mongodb/mongodb.log logappend=true po

Mongodb Mongo,在历史收藏中每小时只挑选第一笔交易

我的收藏包含一段时间内的货币汇率。我希望显示一个图表,每小时只需要知道一个值。然而,我的数据要密集得多,大约每秒有一条记录 如何降低每小时只留下一条记录的密度。我不需要平均,每小时的任何记录都足够了 { "_id" : ObjectId("52112613b45b5d057589009e"), "date" : ISODate("2013-08-18T19:52:51.873Z"), "rate" : 0.00007382007912027975, "symbol

计算MongoDB聚合框架中的中值

有没有办法使用MongoDB聚合框架计算中值?聚合框架不支持开箱即用的中值。所以你必须自己写点东西 我建议您在应用程序级别执行此操作。使用普通find()检索所有文档,对结果集进行排序(在datbase上使用光标的.sort()功能或在应用程序中对它们进行排序-您的决定),然后获取元素大小/2 如果您真的想在数据库级别执行此操作,可以使用map reduce执行。map函数将发出一个键和一个带有单个值的数组,该值是您想要得到的中值。reduce函数只是将它接收到的结果的数组连接起来,因此每个键最

Mongodb 在更新方法中,包含列表的查询参数(pymongo)

我有一本字典。我需要将第2列插入对应于第1列(键)的mongodb中 假设这是字典: values = {'a':['1','2','3'], 'b':['1','2'], 'c':['3','4'] } 现在,我正在这样做: for k,v in values.items(): col4.update({"name":k},{"$set":{"fieldName":v}}) 但这需要3次访问数据库。有没有可能像$in的工作方式一样一次性完成呢 在代码

Mongodb 数据缓存与NoSQL

目前,对于我的项目,我将最常重用的数据存储在内存缓存中(web服务器本身)。它与ASP.net传统的经典方法相同。 我读了很多关于NoSQL的文章。现在我正在考虑将缓存项放入NoSQL(mongo或redis)而不是内存中 我的主要目标是提高性能。有人能建议这种方法能提高性能吗?首先,redis在内存(但持久到磁盘)数据库中,所以您的数据实际上在内存中(实际上这就是它如此快速的原因)。其次,不可能判断你的方法是否会给你带来任何结果 到目前为止,您所能做的最好的事情是实现一些粗略的方法,并在真实或

mongodb的Grails审计日志插件不工作

我使用的是Grails2.2.3和mongodb 1.3.3,curd操作运行良好 我想记录我的凝乳手术 所以我使用了audit logging插件audit logging:1.0.0,它在mysql数据库上运行良好,但在mongodb上运行不好 Error 2014-05-05 15:45:04,117 [localhost-startStop-1] ERROR context.GrailsContextLoader - Error initializing the application

Mongodb 将pymongo配置为使用字符串_id而不是ObjectId

我正在使用pymongo从不同的系统中为数据库添加旧信息,我有很多这样的查询: studentId = studentsRemote.insert({'price': price}) 在实际的python脚本中,studentId作为字符串打印,但在我使用此数据的javascript Meteor应用程序中,它显示为ObjectId(…) 我想将pymongo配置为将\u id生成为字符串,而不必使用ObjectId 我用Meteor规范创建的任何对象都将使用字符串格式,而不是ObjectId

Mongodb 使用字段值作为键

我正在做这个查询 db.analytics.aggregate([ { $match: {"event":"USER_SENTIMENT"} }, { $group: { _id: {brand:"$data.brandId",sentiment:"$data.sentiment"}, count: {$sum : 1} } }, { $group: {

如何在MongoDb中查找某些字段不为空的文档

如何在MongoDb中获取某些字段不为空的文档列表,例如,在学生集合名称、年龄、课程中不应为空,其他字段可能包含空值 :如果任何学生姓名、年龄或课程包含空值,则结果集合中不得包含空值。这应适用于: db.student.find({'name': {$ne: null}, 'course': {$ne: null}, 'age': {$ne: null}}) 但正如@Bipul所说的,由于MongoDB没有模式,所以不需要存储空值。此查询甚至会从结果中排除没有所有这些字段的文档。为什么要在字段

如何在使用C驱动程序(mongoc)时为MongoDB查询设置MaxTimeMS

使用mongoc和MongoDB>=2.6,如何设置查找和聚合的MaxTimeMS?从mongoc driver 1.3.0开始,您可以为光标使用函数mongoc\u cursor\u set\u max\u Wait\u time。您可以查看以下文档: . 文档说明:服务器等待新文档以满足可定制游标查询的最长时间。仅当光标是从mongoc_collection_find创建的,带有查询标志mongoc_query_TAILABLE_cursor和mongoc_query_Wait_DATA,

将mongodb迁移到Google云计算集群

我在副本集中有一个mongodb,它与一个名为的云提供商一起运行 我刚刚创建了一个新的GoogleCloudComputeMongoDB集群,使用 我想将compose数据库中的所有数据复制到compute实例 我一直遵循的一条路径使我获得了运行数据库的文件系统备份,并将其存储在本地。我在本地打开了该数据库并执行了mongodump。我似乎没有权限对远程数据库执行该操作,所以我有mongodump的输出和存储在我机器上的数据库的文件系统副本 我不知道如何将这些信息输入到我创建的计算集群中。我似乎

Mongodb 实时社交游戏排行榜的正确数据库技术

如果我的问题不符合SE的规则,我想开始道歉 我们正在设计一款可以支持数百万玩家的社交游戏,我有一个非常具体的问题 假设一个玩家看起来像这样: { ID: "423erRRWEfwm432we", Name: "Friend A", Score: 125, AvatarType: 3.... } 现在,当有人登录游戏时,我们希望加载他所有朋友的分数,以显示给他-现在一个人最多可以有2000个朋友 我想知道什么是最有效和可扩展的DB tech+方法来加载我朋友的所有数据分数、姓名、头像等-假设这应

Mongodb nginx gridfs:控制集合中的哪些文档可以通过nginx vs my app提供服务?

我正在计划用mongodb替换现有的解决方案,并可能将GridFS功能用于静态资产。我的一个问题是,如果我选择使用nginx处理GridFS,是否有方法控制集合中哪些资产可以直接从nginx提供服务,哪些资产请求需要定向到我的应用程序 我问的原因是,对某些资产进行了一些安全检查,这些资产一直都是在应用程序本身之外提供的,并且需要继续提供,至少现在是这样 我在想,我可以在nginx中存储的文件描述符上添加一个类似isPublished的属性。我可以指示nginx gridfs尊重此属性吗?看起来有

美化MongoDb ObjectId

我们正在开发照片库,其中存储了大量的照片。我们选择了MongoDB的GridFS作为图像存储。一切看起来都很好 但每次当用户必须删除照片时,我们都会根据其ObjectId删除特定的照片,但由于ObjectId的长度,将其发送到客户端看起来很难看。无法基于照片名称删除,因为它不是唯一的 那么,我们如何美化ObjectId以将其发送给客户端呢?不确定这是否属于回答,因为这是主观的,但问题也是如此: 如果不想涉及其他字段,可以更改id的编码。我认为base64看起来不错: 55036ee50202b7

Mongodb安装在错误的文件夹/目录中…我可以将文件移动到另一个文件夹吗?

我是MongoDB的新手。上周我在Linux机器上进行了第一次安装,完成安装后,我意识到我从错误的文件夹/目录执行了安装。我是否可以将该文件夹中已安装的文件移动到我希望MongoDB驻留的正确位置?我不熟悉安装过程中发生的所有情况,因此我不知道安装文件是否标记有安装主目录,或者如果我移动了文件,是否会出现其他配置导致MongoDB失败。感谢您的帮助 谢谢别谈这个话题了。您应该询问您是否可以删除当前安装并在所需目录中重新安装。数据文件将保存在dbpath所在的位置(默认值为/data/db)。

Mongodb求和数组字段的大小

所以我有一堆简单的文档,比如 { "foos": [ ObjectId("5105862f2b5e30877c685c58"), ObjectId("5105862f2b5e30877c685c57"), ObjectId("5105862f2b5e30877c685c56"), ], "typ": "Organisation", } 我想找出与“组织”类型的文档关联的foo的总体大小 所以我有一个聚合查询 db.profil.aggregate(

MongoDB权限:限制对两个数据库的访问

我试图在我的MongoDB服务器上实现一些限制: 关于删除/删除操作,我的服务器上的两个数据库应该受到限制-应该只允许一个特殊的用户帐户这样做。所有其他数据库应完全不受限制(当然不包括管理数据库): 我尝试使用两个用户来模拟这种情况: | database A & B | all the other databases | --------------------------------------------------------- user a | r

MongoDB按不同列之和聚合组

我有以下样本数据的分析收集 { "_id" : ObjectId("55f996a4e4b0cc9c0a392594"), "action" : "apiUploadFile", "assetId" : "55f996a4e4b0cc9c0a392593" }, { "_id" : ObjectId("5603d384e4b0cf75af10be88"), "action" : "agAsset", "assetId" : "55f996a4e4b0cc9c0a392593"}, { "_id

Mongodb &引用;“外连接”;不带ref的父级

我有以下猫鼬模型(节选): 我有一条快捷路线,向用户显示杂志列表: let magazines = await Magazine.find(); if (!magazines) return next(err); res.render('magazines', { magazines: magazines }); 在这个路径中,如果用户订阅了杂志,我想加入订阅的杂志 在sql中,这将是一个外部联接 select * from magazines outer join subscripti

mongodb、couchdb在单个节点上是否一致?

我已经读到文档数据库在多个节点上最终是一致的,那么安装只在单个节点上又如何呢?根据定义,单个节点总是一致的,因为一致性是“所有节点在同一时间看到相同的数据”() 但是,您错了,文档数据库都是一样的。NoSQL数据库有很多种类,所以尽可能避免使用粗枝大叶进行绘制 MongoDB在使用辅助节点时是“默认情况下最终一致的”(),但对我来说,这意味着您可以将其配置为不同的行为 另一方面,CouchDB在设计上始终是一致的。()最终一致性的概念出现在多节点设置中,因为节点可能由于各种问题而断开连接(分区)

Mongodb 启动或修复mongod时,在invariant()失败后中止错误

最初,我的mongod进程运行正常。我发现我的vm上存在空间不足问题,因此删除了2个较旧的oplog文件以释放空间。然后,我启动mongod并开始出错。然后我尝试修复数据库路径中的本地数据,它给出了以下错误。请对此提供帮助 [mongo@localhost data]$ /opt/mongo/mongodb-linux-x86_64-3.0.5/bin/mongod --dbpath local --repair 2016-11-17T03:26:01.502-0800 W - [

将mongodb从v3.2.10降级到v2.4.9,保留相同的数据文件

我使用WiredTiger从MongoDB v3.2.10安装中获得了/data/db文件。如何在ubuntu上运行MongoDB v2.4.9,使其能够使用/data/db中的相同数据文件 仅供参考,我已将/data/db复制到新的mongodb目录,但它没有工作。要导入数据路径,可以在初始化它时将dbpath标志传递给mongodb守护进程。例如: mongod --dbpath /data/db mongorestore --db yourDB /data/db 如果要还原以前的mon

Mongodb$addToSet副本

我正在用mongodb和node js构建一个应用程序。这是关于创建民意调查,我想在数据库中添加新选项,并增加每次提交的投票数。所有操作都很好,但在第一次搜索时,它会复制选项,而不仅仅是更新投票。以下是代码: let newChoice = function(option) { this.option = choice; this.votes = 0; }; let New = new newChoice(choice); poll.update({_id: id}, {$addT

仅检索MongoDB集合中对象数组中的查询元素

假设我的收藏中有以下文档: { “_id”:ObjectId(“562e7c594c12942f08fe4192”), “形状”:[ { “形状”:“正方形”, “颜色”:“蓝色” }, { “形状”:“圆形”, “颜色”:“红色” } ] }, { “_id”:ObjectId(“562e7c594c12942f08fe4193”), “形状”:[ { “形状”:“正方形”, “颜色”:“黑色” }, { “形状”:“圆形”, “颜色”:“绿色” } ] } 请勿查询:

MongoDB$查找未使用索引

我正在编写一个需要在两个表之间进行$lookup的查询,据我所知,foreignField必须有一个索引,以便及时执行此联接。但是,即使在字段上添加了索引,查询仍会退回到COLLSCAN db.users.aggregate([ {$lookup:{ from: "transactions", localField: '_id', foreignField: 'uid', as: 'transaction' }}, { $match: { transaction: { "$size" :

Mongodb mongo查询:当对象具有匹配值时删除对象(电子邮件)

我试图找到类型==1的所有对象都已工作,然后检查电子邮件地址中的重复项。不起作用 输出如下: [ { _id: { id: 59d0e3f728150e39b008013f, firstName: 'pera', lastName: 'pekko', phone: '04040404040', massageType: 'jipii massage', time: 45, price: 30, startsAt: '2017-10-02T11:00:0

Mongodb 对象数组中对象上的Couchdb Mango查询选择器

我有一个沙发数据库,里面有这张表格中的条目 { ... "templates" :[ {"template_id":"1"} {"template_id":"2"} {"template_id":"3"} ] } 我正在尝试编写一个mango查询,该查询将查找包含具有特定模板id的对象的模板的所有条目。我知道可以使用视图,但如果可能,我想使用mango查询。您应该在mango查询选择器中尝试$elemMatch操作符。此运算符“返回包含至少一个元素与提供的查

Mongodb 如何在Mongo db中执行右外部联接

我需要在Mongo db中执行右外部联接。我知道我们可以使用$lookup来执行左外连接。我需要知道是否有任何方法可以在Mongo db中执行右外部联接?表A左外部联接表B带表B右外部联接表A在SQL世界中是等效的,唯一的区别是列的顺序 类似地,在mongodb中使用,它执行左外连接。因为您的要求是执行正确的外部联接,所以请颠倒集合的顺序

在Mongod版本3.6.5的bindIp配置选项中使用多个IP地址时,无法运行MongoDB服务器

我试图在bindIp配置选项中使用多个IP地址,保存配置更改后,mongodb服务器将不会启动。MongoDB版本3.4中也有同样的功能 以下是配置设置: # network interfaces net: port: 36784 bindIp: 127.0.0.1,10.0.0.226 这里10.0.0.226是EC2实例的私有IP地址 同样类型的配置在早期版本的MongoDB中工作,更具体地说是在v3.4中 如果我使用bindIp到0.0.0.0,那么当然它允许远程连接到所

Mongodb 如何基于唯一的名称从现有集合创建集合,例如:“收藏”;特质:/名字/

我刚到蒙哥。我想使用变量名从现有集合创建一个新集合 例如:“特征”:/数据/ 我在一个集合中有100个文档。在这100个文档中,40个文档的名称变量中有“数据”。因此,我想创建40个文档作为与现有集合分开的集合。有人可以帮助创建新集合吗。提前感谢您的帮助 只需将聚合框架与$match和$out stage一起使用即可: db.oldDB.aggregate([ {$match:{name:/data/}}, {$out:"newColl"} ]) 这样,您将拥有仅包含名称字段包含数据的文档的n

Mongodb 无法在本地主机上创建分片mongo db

我正在尝试使用MongoDB4.0.1社区在本地主机上创建简单的MongoDB集群(作为POC)。 此群集由一个碎片和单成员副本集组成。我一直在学习这个教程,但是我被卡住了 作为第一步,我使用以下配置启动了mongod As配置服务器: sharding: clusterRole: configsvr replication: replSetName: configServerTestReplicaSet net: bindIp: localhost sharding: clu

Mongodb java.lang.IllegalArgumentException-属性不能为null

我使用的是SpringBoot1.5.4,还有spring数据mongodb。现在,我通过@Query注释使用Json查询从文档中获取数据。 我有以下实施方案: 在PlayandLearnProgramRepository中: 我想获取活动的凭证。但有以下例外: java.lang.IllegalArgumentException: Property must not be null! at org.springframework.util.Assert.notNull(Assert.java:

Mongodb 如何使$notregexp查询在Go中工作?

我在使用golang和mongodb实现非全文排除搜索时遇到问题 它在mongo shell中的工作: db.collectionName.find({"comment":{"$not": /.*excludeThis.*/}}) 在围棋中不起作用: package main import ( "log" "regexp" "github.com/night-codes/mgo-wrapper" mgo "gopkg.in/mgo.v2" ) type (

查询以获取MongoDB中特定键的值

我有一个集合,其中包含以下格式的记录 { "_id" : 21, "title" : "3D User Interfaces with Java 3D", "isbn" : "1884777902", "pageCount" : 520, "publishedDate" : ISODate("2000-08-01T07:00:00Z"), "thumbnailUrl" : "https://s3.amazonaws.com/AKIAJC5RLADLUMVRPFDQ.book-thumb-imag

如何使用Mongodb中另一个表的_id更新一个表

我将MySQL数据库中的数据导出为JSON,并将其导入MongoDB。问题是: 当我导入客户机时,MongoDB创建了自己的_id字段(我知道这是内置的功能,但MySQL使用了clientID,自动递增整数) 因此,当我导入约会集合时,clientID被重命名为oldClientID。我希望clientID字段是相应客户端的ObjectID 我的模式: const apptSchema = new mongoose.Schema({ ID: Number, clientID: {

Mongodb Mongo$sort和$count在新版本中变得越来越糟糕

在将我的mongo服务器从3.4升级到4.2之后,一些使用$sort和$count的聚合现在执行起来非常慢。为了确保它与升级相关,我在本地安装了几个版本的Mongo,并在相同数量的数据上尝试了相同的聚合,结果如下: db.getCollection('devices').aggregate([ { $lookup: { from: "sites", localField: "_id", foreignField: "devices", as: "site" } }, { $unwind: {

Mongodb Mongo连接器错误:无法处理oplog文档

我是neo4j文档管理器的新手,我正在尝试使用neo4j文档管理器查看从我的mongoDB到neo4j中创建的图形的集合,如下所示: 我已经让我的mongoDB和neo4j实例在本地运行,并且我正在使用以下命令: mongo-connector -m mongodb://localhost:27017/axa -t http://<user_name>: <password>@localhost:7474/C:/Users/user_name/.Ne o4

将spring boot actuator与mongodb客户端字段级加密一起使用时,不支持自动加密命令

我在Spring引导应用程序中使用MongoDB自动客户端字段级加密。为了暴露健康检查,弹簧启动执行器也是一个依赖项。在构建MongoClient时,我向AutoEncryptionSettings提供了一个schemaMap()。正常的加密工作正常,集合的字段被加密,但是当运行状况检查被命中时,会发生以下异常: org.springframework.data.mongodb.UncategorizedMongoDbException: Exception in encryption libr

在重用mongodb连接时处理上下文

我通过将client作为参数传递,使多个goroutine共享一个连接 uri:=”mongodb://localhost:27017" ctx:=context.Background() client,err:=mongo.Connect(ctx,options.client().ApplyURI(uri)) go Foo(客户) go Bar(客户) func Foo(客户端*mongo.client){ // ... } 功能条(客户端*mongoClient){ // ... } 我

上一页   1   2   3   4    5   6  ... 下一页 最后一页 共 1178 页