草庐IT

elixir-mongo

全部标签

mongodb - 是否可以在 Mongo shell 中创建 ObjectId?

我正在直接在Mongoshell中更新包含嵌入文档数组的文档。我希望这些子文档中的每一个都有一个_id字段,但它们不会像顶级文档那样自动创建。有没有办法在Mongoshell中简单地创建一个新的ObjectId?类似于(以下示例无效)的内容:"prop":[{"_id":newObjectId(),//createstheobjectIdwhenexecutingtheline"foo":"bar"}]主要要求是不必为要创建的每个文档手动生成随机字符串。这可能吗? 最佳答案 是的,这是可能的。你可以生成ObjectIdObjectI

mongodb - 按 mongo 中的子文档字段排序

给定以下集合:[{name:User1metadata:[{k:"score",v:5},{k:"other",v:10}]},{name:User2metadata:[{k:"score",v:1},{k:"other",v:1}]},{name:User3metadata:[{k:"score",v:2},{k:"other",v:0}]}]如何按“分数”对这些项目进行排序?我可以按metadata.v字段排序,但我不确定如何只考虑匹配“k”的子文档的“v”值:“score”预期的输出是:[{name:User2metadata:[{k:"score",v:1},{k:"other

php - 管道阶段规范对象必须包含一个带有 php mongo 聚合的字段

我正在尝试将聚合与项目、匹配和排序一起使用,但我得到一个异常(准确地说是MongoResultException)说异常:管道阶段规范对象必须只包含一个字段。当我不使用排序和限制时它工作正常,但我需要它们。我不使用find()的原因是我在某处读到它可以提高性能。请帮忙$query=array(....//Anactualquerythatworkswithfind()$collection=$this->db->CollectionName;$project=array('$project'=>array('Field1'=>1,'Field2'=>1,'Field3'=>1,'Fie

javascript - 使用 Mongo(ose) 从 NumberDecimal 中提取小数

在存储货币值的数值模型中,MongoDBdocs状态:FromthemongoshelldecimalvaluesareassignedandqueriedusingtheNumberDecimal()constructor.同样,在使用MorphiaJava库时,BigDecimal会自Action为BigDecimal插入。我正在使用Mongoose在Node中查询Mongo,并尝试提取存储为NumberDecimal的字段的数值。但是,该值奇怪地包含在查询结果中,我不确定如何通过Mongo或Mongoose提取它:[{"openValue":{"$numberDecimal":"

php - 我需要在 mongo php 中使用类似查询

我在shell中使用过这个查询。它工作得很好。如果我在php中使用它,它会显示错误foo;$collection=$db->base;$query=array("ro"=>'/^a/');$cursor=$collection->find($query);foreach($cursoras$obj){echo$obj["ro"]."";}我不确定,db.base.find({"ro":/^a/}).limit(10);查询是否可以在php中工作?? 最佳答案 你需要使用MongoRegex()...在此处查看文档:http://ph

java - 使用roo用mongo创建springsource项目

前言:我来自.NET和PHP背景。我很喜欢用Java制作控制台应用程序。我从未在任何平台上使用过ORM。我正在尝试学习企业Java最佳实践。因此,如果我听起来很无知,那可能是因为我是。我下载了最新版本的SpringSourceToolSuite.我想用JPAmongo(适配器/驱动程序/驱动程序等)制作一个Spring项目。我想用roo这样做。所以我想我需要知道的是具有mongodb驱动程序的JPA库的名称。 最佳答案 查看Kundera,它是一个用于Cassandra/Hbase/MongoDB数据库的JPA1.0ORM库。有关入

mongodb - Mongo在计算条件下排序

我有一个Mongo消息集合,如下所示:{'recipients':[],'unRead':[],'content':'Text'}Recipients是用户id的数组,unRead是尚未打开邮件的所有用户的数组。这按预期工作,但我需要查询所有消息的列表,以便它返回前20个结果,优先考虑未读的结果,例如:db.messages.find({recipients:{$elemMatch:userID}}).sort({unRead:{$elemMatch:userID}}).limit(20)但这不起作用。根据结果​​是否符合特定标准来确定结果优先级的最佳方法是什么?

python - 具有完整行对象的 Mongo Distinct Query

首先我是mongo的新手,所以我不太了解,由于某些依赖关系,我不能只删除重复的行。我在mongo中存储了以下数据{'id':1,'key':'qscderftgbvqscderftgbvqscderftgbvqscderftgbvqscderftgbv','name':'somename','country':'US'},{'id':2,'key':'qscderftgbvqscderftgbvqscderftgbvqscderftgbvqscderftgbv','name':'somename','country':'US'},{'id':3,'key':'pehnvosjijipe

ruby-on-rails - 运行 Rails 应用程序时的 Mongo::Error::NoServerAvailable

当运行railss并连接到localhost:3000时,我在尝试诸如@users.each之类的简单查询时收到以下错误消息:Mongo::Error::NoServerAvailableinUsers#indexNoserverisavailablematchingpreference:#控制台显示MONGODB|Addinglocalhost:3000totheclusterMONGODB|IOERRORconfig/mongoid.ymldevelopment:clients:default:database:virtu_developmenthosts:-localhost:3

mongodb - 按 id 对 Mongo 文档进行分组,并按时间戳获取最新文档

假设我们在mongodb中存储了以下一组文档:{"fooId":"1","status":"A","timestamp":ISODate("2016-01-01T00:00:00.000Z")"otherInfo":"BAR",...}{"fooId":"1","status":"B","timestamp":ISODate("2016-01-02T00:00:00.000Z")"otherInfo":"BAR",...}{"fooId":"1","status":"C","timestamp":ISODate("2016-01-03T00:00:00.000Z")"otherInfo