Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
 Mongodb_IT技术博客_编程技术问答 - 「Fatal编程技术网」

MongoDB:使用save()更新集合中的现有文档

大家好。我喜欢漫画。现在我也在学着去爱mongo:-) 有什么解释吗?但我无法将其应用于PHP的“现实”:-) 以下是我的测试代码: <?php $a=array('_id'=>'test_a','field1'=>'anything'); $b=array('_id'=>'test_a','field2'=>'anything else'); $m=new Mongo(); $c=$m->db->test; $c->save($a); $c-&

Node.js侦听MongoDB更改

Node.js是否有办法监听MongoDB集合中特定数据的更改,并在发生更改时触发事件?MongoDB显然现在支持触发器和监视,这个答案已经过时了 [原创]我相信您正在寻找一家新的公司 不幸的是,MongoDB还不支持它们,所以我认为您不能直接从数据库中监听更改。您需要设置某种通知系统(如pub/sub),在收藏发生更改时向相关方发出通知。好吧,这是一个老问题,但我一直在努力解决同样的问题。我发现了许多帮助我制定解决方案的花边新闻,并将其作为一个库发布: 这个图书馆是用咖啡脚本写的。下面是一个

Mongodb 是否可以在没有relica设置的情况下在多个远程实例上运行多个碎片?

我在centos上使用64位MongodbV2.0,我在单个实例中创建了一个分片设置,包括2个硬盘、1个配置服务器和1个Mongos。这似乎很好。当我将1硬盘、1配置服务器和1 Mongos三个组件分别放在三台计算机上时,数据不会被分割成其他碎片,只存储在第一个碎片上。我担心的是,我创建的设置是否有效?如果是,没有副本集,是否可以创建分片设置 谢谢,是的,你可以 分片和复制集是两种不同的特性,它们可以分开工作,也可以一起工作 您的配置似乎正常,您配置了切分吗?运行命令addShard、enabl

使用Meteor.js和MongoDB进行全文搜索

我正在试验Meteor.js,寻找一个可以在Meteor/MongoDB服务器上运行的全文搜索引擎。看来流星还没有发展出这一特征 我想知道是否有一个现有的解决方案添加到流星应用程序全文搜索 我唯一能找到的就是node.js API。我应该如何将MongoAntern添加到我的Meteor应用程序中?MongoDB 2.4将在其中进行全文搜索 如果您准备运行开发版本,您可以下载-它包含文本搜索 更新:MongoDB 2.4已经发布。文本搜索被描述为Beta版 指南和 看一看。这也可能有助于获得re

Mongodb 如何在不更改id的情况下将对象从一个集合移动到另一个集合

我有一个队列机制,我想保持小规模,所以所有排队对象在完成处理后都会移动到另一个名为history的集合中,在那里它们不再更新,只用于参考和信息 是否可以在不更改_id的情况下从一个集合中获取对象,将其删除并插入另一个集合 我现在通过在模式中创建第二个id来解决这个问题,并将其传输到新对象,但我宁愿继续引用_id 另外,如果你认为我忽略了一些东西,并且不需要第二次收集来保持我的排队机制的快速,我很想听听 下面是我目前使用步骤和下划线的方式 ` `您可以将文档从一个集合复制/移动到另一个集合,而无需

Mongodb 带有morphia的索引注释无效

我对morphia还很陌生,正在努力让索引注释正常工作。我在静态块中创建数据源,并在同一块中调用EnsureIndex,但它无法应用索引。如果我在保存对象之前把线放对,它就会工作 顺便说一句,我将PlayFramework2与Java一起使用 public class MongoService { static private MongoClient mongoClient = null; static Datastore ds = null; static { MorphiaLogg

spring数据mongodb和jpa事务

我有两个实体需要保存在两个不同的数据库中: 1 MyClassMetaData-通过spring entityManager中的jpa+hibernate在mysql上持久化 2 MyClassRawData-通过spring数据mongoTemplate在mongoDB上持久化 两个实体之间存在一对一的关系: 只保留一个实体而不保留另一个实体是没有意义的。 每次保存都会有元数据和原始数据 我保存这两个实体的服务如下所示 @Transactional public void saveMyClas

Mongodb 将仲裁员转换为正式成员

我们目前有一个副本集,有两个完整成员和一个仲裁人。现在,我需要提升仲裁员成为正式会员。最简单的方法是什么? 我没有更多的服务器可供使用,因此我需要使用我拥有的机器来执行此操作。如果我理解正确:您希望将仲裁程序转换为同一硬件上的完整mongo服务器。你想考虑的第一件事是仲裁器硬件是否能够支持数据库。如果仲裁器的硬件少得多,那么其他两个节点的情况可能不会很好。许多仲裁程序在无法支持完整数据库的计算机上运行。 如果要执行此操作,需要从头开始将机器设置为完整节点。没有办法自动将仲裁者提升为正式成员 为此

如何在MongoDB中创建(双)链表结构?

我试图存储大量具有双重链接的文档,即它们可以有一个前置文档和一个后续文档。由于存在不同文档的集合,我不确定是否可以在其上创建可行的索引: {"_id": "1234", "title": "Document1", "content":"...", "next": "1236"} {"_id": "1235", "title": "Document2", "content":"...", "next": "1238"} {"_id": "1236", "title": "Document1a",

Mongodb Mongo多组

我有下表: { _id:'', user_name: "test1" "date": "2014-01-30T10:14:50.004Z" }, { _id:'', user_name: "test2" date: "2014-01-17T15:48:20.420Z" }, { _id:'', user_name: "test3" date: "2014-01-24T18:07:14.627Z" }, 我需要获得每个用户每月的记录数,如下例所示: {month:"01"

弹簧数据mongodb转换器

我使用的是SpringDataMongoDB1.4.1.RELEASE 我的实体“Event”具有基于其他属性计算的getter方法: public int getStatus() { return (getMainEventId() == null) ? (elapseTimeInMin() < MINIMUM_TIME ? CANDIDATE : VALID) : POINTER; } public int getStatus(){

mongodb中处理不同用户组的最佳实践

我的网站上有两组用户。一个是user,另一个是admin。目前,我将它们放在两个不同的集合中user和admin。我的问题是: Mongodb会自动为两个集合生成_id。因为它们在两个不同的集合中,所以有一天您创建了一个用户和一个管理员,并且具有相同的id,对吗?我有一个记录用户/管理员余额的表,所以我当然不希望id发生冲突 我还可以将所有用户和管理员放在一个集合中。这样我没有问题,但我不确定我是否应该这样做 如有任何意见,我们将不胜感激。谢谢 是的,您可以将用户和管理员放在一个集合中,然后使

Mongodb 如何在Flask中声明Mongo二进制对象

我正在构建一个flask应用程序,我将在其中提供小图像。这些图像作为二进制数据存储在MongoDB中。在助手函数中,我可以使用以下python行存储数据: a = {"file_name": f, "payload": Binary(article.read())} ARTICLES.insert(a) 我正在尝试构建一个包含图像的类。但是,我找不到正确的字段声明 class BinaryFile(mongo.Document): created_at = mongo.

Mongodb 将聚合与DBref和Mongo ODM一起使用

我试图使用MongoODM从mongo控制台复制以下工作查询 db.Record.aggregate([ {$match: {member: DBRef("Member", ObjectId("556e5dbfa10fdb0ddc0041c5"), "doctrine_odm")}}, {$sort: {timestamp: -1}}, {$group : {_id : "$details.type", firstRecord: {$first: "$_id"}}} ]) 提供一份样本记录

修复后损坏的MongoDB数据库

先决条件 我有MacBookPro(128GB!-这可能是问题的原因,但我不确定)和MacOS Yosemite(10.10.3)。我还将MongoDB 3.0作为系统mongo。但我需要一个项目的Mongo2.4。接下来,我将讨论我运行的Mongo2.4:/mongod--dbpath=/data/db2.4/。我从生产服务器获取转储,几天前在本地恢复并运行了它。一切都很好,但是 问题描述 但是昨天我在iTerm中通过Ctrl+C停止了mongo进程。现在,我尝试使用与“先决条件”部分相同的命

在mongodb中获得集合平均值

我是MongoDB的新手。我想取整个集合中的平均、最大、最小文档值。我能够计算最大值和最小值,但不知道如何计算平均值或如何开始计算 这就是我计算max的方法 db.mytable.find({},{"abc":1}).sort({"abc":-1}).limit(1); 您将要为此调查以下问题: 对于平均值,您可以使用: db.mytable.aggregate( [ { $group: { _id: "$abc", avg: { $avg: "$to_average"

Mongodb 如何使用Morphia附加到文档集合中的数组?

假设我有一个用户集合。每个用户都有一个历史记录,它是一系列事件。我想在每个用户的历史记录中添加一个事件,但每个事件都是唯一的 如何使用Morphia批量更新用户的集合?下面是一些伪代码: List<User> users = datastore.find(....); Set<Event> newEvents = createEvents(users);//events contains a reference the the users that are part of

MongoDB是否可能重写了我的data/db文件夹

重新启动mongod进程后,我丢失了所有数据库集合。 在mongo shell中键入show collections时不显示任何内容。我试图使用mongod——修复,但什么也没发生。Mongod配置文件是可以的,但它似乎不是由init脚本加载的。但是,当我使用mongod--config/etc/mongod.conf时,它也不能解决问题。 我别无选择。MongoDb是否可能重写了我的数据库?我有什么选择来恢复它? 我试过mongodump,但它仍然没有备份 以下是上次尝试的日志: 2015-1

Mongodb mongo查找关于joda datetime的查询

我试图在mongodb中使用find query来确定特定日期的记录,当我将普通日期对象传递给它时,查询工作正常,如果我根据dateCreated字段进行查找,但对于joda date字段,我不知道如何形成joda日期 现在我使用这个查询来查询普通记录 var from = new Date('2015-05-18T00:00:00.000Z'); var to = new Date('2016-05-19T00:00:00.000Z'); db.delivery.find( {"dat

Mongodb Mongo获取指定位置10英里内的所有文档

我有两个收集服务提供商和父母 ServiceProvider(\u id,ServiceProviderID,…) 父母(_-id,id,位置:[Lat,Long],…) ServiceProvider集合的ServiceProviderID链接到父集合的ID 我要所有的服务提供商在10英里以内的位置 所以基本上我想加入ServiceProvider和Parents集合,列出10英里范围内的所有ServiceProvider 我尝试了以下查询: db.ServiceProvider.aggreg

Mongodb 查询以返回平坦的嵌入字段

我一直在寻找答案,但到处都找不到 当我在robomongo中使用以下方法来检索匹配条件的文档的嵌入字段时,我会得到一个包含所有匹配文档的列表。 所有这些文档都包含一个带有我选择的嵌入字段的文档数组 db.getCollection('test').find( { "bom.COMPONENT": "101-00001-017" }, { _id: 0, "CicodeList.Cicode": 1 } ) 结果 /* 1 */ { "CicodeList" : [

Mongodb Mongo错误:未授权dbname执行命令

我在mongolab上创建了一个帐户,然后创建了数据库和用户。如果我启动mogno shell并像这样连接到我的数据库 mongo***.mlab.com:**/projectname?authMode=scram-sha1-u myname-p mypass 然后键入show dbsI得到这个错误 2017-02-27T20:06:10.834+0200 E QUERY [thread1] Error: listDatabases failed:{ "ok" : 0,

按id和组进行Mongodb聚合匹配

您好,我在mongodb中创建了一个数据库并创建了插入,我目前正在学习如何使用聚合,我对此有点困难,我正在寻求一些帮助,以了解为什么我的命令不会返回任何结果。以下是插页: db.transaction.insert({"EmpId":"005","transaction":[{"TID":"O02","Date":"3/27/2017","product":[{"product_name":"COD","quantity":1,"amount":59.99}]},{"product_name":

MongoDB存储引用

在Mongo环境中,在文档中嵌入数据是有益的 例如,员工文档: { { userid: 'someid', username: 'user1' isManager: true, subordinates: [ { userid: 'anotherid', username: 'user2',

使用MongoDB Spark连接器基于时间戳进行过滤

我正在使用从mongodb获取数据。但是,我无法了解如何使用聚合管道(rdd.withPipeline)使用Spark查询Mongo。以下是我的代码,我希望根据时间戳获取记录并存储在数据帧中: val appData=MongoSpark.load(spark.sparkContext,readConfig) val df=appData.withPipeline(Seq(Document.parse("{ $match: { createdAt : { $gt : 2017-01-01 00

Mongodb 为我的大桌子选择DB

我有一个表,在我的数据库中有60gb(使用ram内存),我想输出到其他数据库。。。只有一个表有两列(ID和text)。我在这个数据库上做的唯一一件事就是简单的写和读请求(每次按id写一个对象)。这个数据库应该得到大量的读写请求(web应用程序)。我想知道我应该使用mongodb还是elastic,或者有更好的吗 听起来像是键值存储问题。尽管MongoDB和Elasticsearch应该也能很好地解决这个问题。你现在在用什么-Redis或者Memcached? 您知道值(文本)的大小吗 我假设您的

Mongodb Spring MongoItemReader在一次执行时未读取所有记录 @Bean 公共作业orderJob()引发异常{ 返回jobBuilderFactory.get(“orderJob”).incrementer(新的RunIdIncrementer()).listener(listener()) .flow(orderStep()).end().build(); } @豆子 公共步骤orderStep()引发异常{ 返回stepBuilderFactory.get(“orderStep”).chunk(1000) .reader(orderReader()).processor(orderProcessor()).writer(orderWriter()) .allowStartIfComplete(true).build(); } @豆子 @步进镜 公共MongoItemReader orderReader()引发异常{ MongoItemReader=新的MongoItemReader(); reader.setTemplate(mongoTemplate); 读卡器。setCollection(“订单”); Map sort=newhashmap(); sort.put(“_id”,sort.Direction.ASC); reader.setSort(排序); setTargetType(OrderCollection.class); setQuery(“{$or:[{flag:false},{flag:null}]}”); 返回读取器; } @豆子 @步进镜 public OrderProcessor OrderProcessor(){ 返回新的OrderProcessor(); } @豆子 @步进镜 公共ItemWriter orderWriter(){ 返回新的OrderWriter(); }

订单集合中有5686条记录,对于所有记录,如果为false,则标记为false。但读卡器在第一次运行中仅读取和处理3000条记录。第二次运行1686条记录,第三次运行1000条记录。没有错误供参考我猜您可能正在更新从中读取的集合,同时也在更新查询使用的字段。如果是这样,那么我最近也有同样的问题 MongoItemReader是分页阅读器。因此,每次编写器更新这些记录时,阅读器的池都会变小,但页面仍在增加 假设我们有20个项目,一次读5个项目: 1) 从总共20个项目中读取项目1-5 2) 更新项

Mongodb 基于输入数组的Mongo$组数组元素

我的收藏有以下格式- { "title" : "Seasonal", "state" : "Maharashtra", "fruits" : [ "banana", "orange", "jackfruit", "mango", "tamarind"] } { "title" : "Seasonal", "state" : "Karnataka", "fruits" : [ "banana", "avacado", "blackberry", "coconut", "grape

MongoDB:查找特定日期范围内的文档

文件结构如下: { _id : '993920022', data: 'dkow000afkkaso', timeStamp : '3/7/2018 10:13:36 AM' } 我想查找特定日期范围内的数据,例如2018年3月1日至2018年3月7日,但我无法实现,我的MongoDB查询是: db.collection.find( { 'timeStamp' : { $lte

MongoDB:$sum查询

例如,我在MongoDB中有以下数据: { "student": "Pedro", "class_id": 10, "scores": [ { "type":"exam", "score": 10 }, { "type":"homework", "score":

Mongodb 无法使用mongo db中的PojoCodecProvider解码BasicDBList类型的属性

我打算使用默认编解码器注册表(MongoClient.getDefaultCodecRegistry())和PojoCodecProvider提供的生成器从mongo数据库加载类“DataTable”的实例。我已经在编解码器提供程序中注册了DataTable类,并且当records字段为null时,该对象已从数据库正确映射。然而,当records属性包含数据时,我会得到一个错误。此外,我需要将records字段定义为具有任意属性的对象列表。是否可以为此使用默认的PojoCodecProvider

Mongodb 逻辑计算的$limit和$project

我需要从最早的时间戳开始使用ISODate,并使用todays age计算集合中文档的年龄。我需要对前10个文档执行此操作。我已经能够提取时间戳最早的前10个文档,但我无法使用这些数据并进行数学计算 db.collection.aggregate([ { $group: { _id: "$title" }}, {$sort:{timestamp:1}}, { $group: { _id:"$title",

Mongodb 按日期递减查询顺序时,mongoObjectToParseObject中的ParseServer错误值

我使用一个自宿主ParseServer,我的数据库目前在一个集合中增长了超过80k个对象。我使用parse dashboard查看和管理它们。今天,当我浏览按“publishedDate”字段降序排序的集合时,问题就出现了。错误如下: ParseError{code:1,消息:“mongoObjectToParseObject中的值不正确”} 它只发生在按降序排列的字段上,按升序排列效果很好。该集合中的其他字段也可以正常工作。我已检查我的移动应用程序,由于该错误,无法加载数据 我试过很多方法:

Mongodb “什么是”呢;重新加载();在MongoEngine

我有这样一个语句:jsonify\u ok(data=mytag.reload().as\u dict()) reload()扮演什么角色?使用reload()的正常情况是什么?文档。reload()将检查数据库并使用任何已修改的属性更新您的数据(我认为在本例中是mytag,但我看不出这是什么) 如果在调用jsonify\u ok之前数据可能会或已经发生更改,这可能会很有用 分解您的data=mytag.reload()这表示:“对于文档mytag,转到数据库并获取此文档的最新版本,将其分配给变

Mongodb 我需要填充一些索引数组

我需要在mongodb中填充行的特定索引 这是我的收藏 { "startTime": "00:00", "endTime": "23:30", "services": [ ObjectId("5b90e29729d36e0014d2f6f2"), ObjectId("5b8f96003b918f0014bb4b92"), ObjectId("5b8f6273621c0f

如何在mongoDB中获取所有匹配的子数组对象

我有以下几个问题 [ { "_id": "5c87e621257db42508007f3b", "uuid": "8b03dba7-db96-40d0-8dd9-6a65efd6719a", "user_answers": [ { "profile_section_code": "MY_PROFILE", "profile_question_code": "STANDARD_EDUCATION", "sele

MongoDB:初始化主节点时始终接收127.0.0.1

无论我如何尝试初始化我的主节点,它都会得到名称“name”:“127.0.0.1:27017”,因此复制集中的任何远程节点添加都会失败,并显示以下消息: “errmsg”:“副本集配置中的所有主机名必须 是本地主机引用,或者必须是无引用;在2个引用中找到1个“ 这是我的.conf storage: dbPath: /var/lib/mongodb journal: enabled: true # engine: # mmapv1: # wiredTiger: # wher

Mongodb 自动查询所有收款单+;等待进一步的变化

我们的Java应用程序将其配置保存在MongoDB集合中。当应用程序启动时,它会从MongoDB读取所有配置并将它们缓存在地图中。我们希望使用变更流API也能够监视配置集合的更新。 因此,在应用程序启动时,首先我们希望获得所有配置,并从现在开始关注任何进一步的更改。 是否有一种简单的方法以原子方式执行以下操作: 检索所有配置(文档)的find() 启动一个watch(),它将发送所有进一步的更新 我的意思是,在不丢失任何更新的情况下(在1到2之间,有人可以使用新配置更新集合)。为了确保我不会丢失

在Golang中使用游标进行迭代时如何从mongodb记录中提取字段

我对golang编程和mongodb接口相当陌生 我有一个由另一个应用程序创建的记录数据库。我试图遍历数据库并检查每条记录的特定字段。我可以将完整记录解码为bson,但无法获得具体值 此结构定义了我要提取的3个字段: 键入myDbaseRec结构{ aid字符串`bson:“pon-util-aid”` ingressPct字符串`bson:“入口桶百分比”` 出口PCT字符串`bson:“出口桶百分比”` } 下面是我的代码,用于在集合之后遍历游标。查找(ctx、queryFilter)并将

MongoDB:从日期减去月份,并使用数据库中的值

在MongoDB中,是否可以用同一文档中的值从日期中减去月份。例如,我必须从字段“valid_to”中减去日期,从字段“offset”中减去月份,只需要更改月份。 例如: 2019-11-25-3个月=2019-08-25 2019-12-20-5个月=2019-07-20 正在收集的文件: { "_id" : ObjectId("5d96f027ad768a1532aa2698"), "name" : "Q1", "valid_t

Mongodb 如何构造查询以返回布尔值为true的文档,否则返回布尔值为false的文档 请考虑此文档结构: { _id: <ObjectId>, version: <int> approved: <bool> }

我的目标是获得批准的最新文档版本。这将是文件版本2 但是,使用此数据集: [ { version: 1, approved: false}, { version: 2, approved: false}, { version: 3, approved: false} ] 我希望得到版本3的文档作为最新版本 我如何通过一个mongodb查询来实现这一点 出于兴趣,我正在使用pymongo和pymodm库处理python。我假设我必须做一个原始的MongoDB查询,所以我认

MongoDB在阵列上更新和插入

我有一份mongo文档,如下所示: { "ITEMS": [ { "BUKRS": "1000", "GLACC": "476000", "NETWR": 100 } ], "EXCEPTIONS": [ { "CURR": true, "EVENT": "WEB", "DATE_TIME": "2020-02-08T22:46:29.219Z" }, { "C

使用MongoDB管理架构更改

如何处理生产更改后的文档结构 假设我有500个这样的文档: { name: ‘n1’ height: ‘h1’ } db.mycoll.updateMany({ "weight": {$exists:false} }, { $set: {"weight": ""} } ) 稍后,如果我决定以以下格式添加所有文档: { name: ‘n501’ height: ‘h501’ weight: ‘w501’ } 我正在使用cursor.All(&userDetails)在Go中解码(反序列化),

根据mongodb事件计算DAU/MAU

以下是目前为止的情况: collection.aggregate( [ { $match: { ct: {$gte: dateFrom, $lt: dateTo }, } }, { $group: { _id: '$user' } } ] ).toArray((err, result) => { callb

Mongodb Mongo DB比较两个数组并添加缺少的元素

我有一个状态数组,如下所示 "statuses" : [ { "name" : "In Progress", "created_on" : ISODate("2020-04-20T19:00:07.681Z") }, { "name" : "Pending", "created_on" : ISODate("2020-04-20T19:00:07.886

Mongodb 如何将{useMasterKey:true}传递给解析服务器js聚合查询?

我想使用parse server js进行聚合查询。 类似于以下代码的样式,但不是使用.find(),而是使用.aggregate(管道,选项) constquery=newparse.query(“myClass”); query.find()。然后(//…对结果对象执行某些操作) )这里实际上有两个库。首先,有一个解析服务器——它们对使用主密钥的需求来自于此 然后是Parse JS SDK(您的文档链接指向它)——云代码用来与Parse服务器对话的环境 如果查看JS SDK中聚合函数的源代

Mongodb 我在工作中得到了一个无服务器应用,作为一个noob从哪里开始?

避开显而易见的答案,“也许我不应该被赋予这个工作。” 让我们假设这是一个复杂的“对我在工作中学习能力的测试” 该应用程序使用的是无服务器框架,我了解使用AWS的基本结构,以及某些东西的去向等,但我不习惯我收到的应用程序的结构 我有一个用于后端、应用程序的文件夹,还有一个用于“图形”的文件夹。我只是想知道从哪里开始?是用户“无服务器离线”的建议路径,还是我没有设计这个应用程序,我应该直接将东西插入AWS,并以这种方式运行它?我知道这是一个很难回答的问题,不管怎样,我只想继续玩两个选项,但是我确实有