草庐IT

elixir-mongo

全部标签

mongodb - 解析 spark 中几乎没有模式的 mongo 集合时出现问题

我正在使用Spark将数据从一个集合移动到另一个集群中的另一个集合。数据的架构不一致(我的意思是在具有不同数据类型的单个集合中几乎没有架构,变化很小)。当我尝试从spark读取数据时,采样无法获取数据的所有模式并抛出以下错误。(我有一个复杂的模式,我无法明确提及,而不是通过采样获取spark。)com.mongodb.spark.exceptions.MongoTypeConversionException:无法将ARRAY转换为NullType(值:BsonArray{values=[{“type”:“GUEST_FEE”,“appliesPer”:“GUEST_PER_NIGHT”

mongodb - 如何在 XML 中使用 spring-data-mongodb 启用 mongo 连接池监控?

我正在使用spring-data-mongodb1.10.12和mongo3.6.4。我最近从低版本的mongo升级而来,现在我的mongo连接池监控坏了,因为没有注册ConnectionPoolStatisticsMBean。根据documentation对于该版本的mongo“默认情况下禁用JMX连接池监控。要启用它,请通过MongoClientOptions添加com.mongodb.management.JMXConnectionPoolListener实例”但是,在spring-data-mongo的xml模式中,clientOptionsType不允许设置该值,除非我遗漏了

mongodb - 如果日期在 mongodb 中为字符串格式,则使用 $gte 和 &lte mongo 运算符

我在数据库中有类似{dob:"02-23-2000"}的dob字段。现在我想在字符串格式的dob字段上执行$gte和<e,如下所示:db.panelists.count({"dob":{'$gte':'08-02-1998','$lte':'08-02-2003'}});我得到的计数值总是为零。谁能帮我用相同的dob格式解决这个查询。 最佳答案 您可以在mongodb3.6中尝试以下聚合您可以使用$dateFromString聚合以将您的dob从字符串到日期然后很容易$count申请文件$match在上面。1)使用$addFie

mongodb - Mongo Compass 是否包含一次删除多个文档的功能?

我在我的项目中使用MongoDB有一段时间了。但是嗯,目前MongoDB指南针应用程序是新手。所以当我想一次删除很多文件的时候。我将如何在MongoCompass中执行该操作? 最佳答案 Compass最新稳定版(1.16.3)不支持一删多操作。为此,您需要使用mongoshell-https://docs.mongodb.com/v3.2/tutorial/remove-documents/ 关于mongodb-MongoCompass是否包含一次删除多个文档的功能?,我们在Stack

c# - Mongo.net - BypassDocumentValidation 不工作

我正在尝试在NetCore控制台项目中插入这样的json(带有“.”的字段名){"name.field":"MongoDB","type":"Database"}使用亲爱的C#代码:-InsertManyOptions和BypassDocumentValidation为truevaroptions=newInsertManyOptions{BypassDocumentValidation=true,IsOrdered=false};await_collection.InsertManyAsync(items,options);但我有这个异常(exception):元素名称“name.f

mongodb - Mongo 查找查询不适用于某些值。

我编写了一个包含OR运算符的Mongo搜索查询。它的bool表达式如下。A和(B或C)对于上面的表达式布局,如果B或C之一为假,它将返回假。因此我的查询失败了。更具体的Mongo查询如下。{"fieldName":{"regex":"AB.*"},"$and":[[{"fieldName2":"$in":["abc","cds"]},"$or":[{"fieldName3":"$in":["abc","cds"]}]]}在上面的查询中,如果fieldName2有abc之一或者cds但fieldName3没有任何一个,然后查询返回false,尽管它在OR子句中。那么有没有其他方法可以像在

javascript - Mongoose:如果满足条件,则从 Mongo 中的对象数组中删除元素

我有一个对象数组,用于存储API请求的日期以及请求和响应的JSON值。问题是我不希望这个日志变得庞大。我需要设置最大限制或删除早于特定日期的条目。当该对象的日期值大于5天时,我正在尝试使用mongo/mongoose查询删除该数组的元素。这是mongo模型的相关部分:log:[{select:false,date:{type:Date,default:Date.now,select:false},request:{type:String,select:false},response:{type:String,select:false}}]我试过使用updateMany和$pullcon

mongodb - 在 Mongo 中使用唯一键创建 seenMessages 对象

我对Mongo不是很熟悉,所以请原谅这里的任何无知!我想向每个用户添加一个seenMessages对象,以确定用户已阅读或未阅读的消息,由消息的唯一ID的存在(或不存在)决定,类似于://用户对象中的键seenMessages:{i3d4Fh87:'i3d4Fh87',hfy7FDE9:'hfy7FDE9',}想法是检查该对象的那个键,如果无法定位,则该消息被认为是“看不见的”。查看消息后,消息ID将添加到seenMessages对象,此时它将被视为“已读”。有没有办法在Mongo中实现这一点?即在更新阶段以及仅将字段创建为空对象时,Schema.Types.Mixed似乎只生成一个包

mongodb - 是否可以在 $regex [mongo db] 中使用 mongo 字段值作为模式?

假设我有数据db=[{"make":"audi","year":"2018","url":"xyz.com/makes-2019-"},{"make":"audi","year":"2013","url":"abc.com/car/audi-2013"}]如果url中存在品牌或年份,假设我需要查询数据。例如。像这样db.cars.aggregate([{"$match":{"$or":[{"url":{"$regex":$model,"$options":"i"}},{"url":{"$regex":$year,"$options":"i"}}]}}])除了map-reduce之外,这

mongodb - Mongo 不返回文档,即使它存在

所以我进入了mongoshell./mongo并执行了以下命令:>>>usemydb>>>showcollectionsmycmyothercusers>>>db.myc.find(){"_id":ObjectId("5c8dd1c7b350e73a6bc7cf50"),"name":"mfirst","theowner":ObjectId("5c8d7146bc279c28a6ded7b2"),"mowner":ObjectId("5c8dcb3a7f1b20386577d4bc"),"created":ISODate("2019-03-17T04:49:11.194Z"),"__v