如何使用Mongoid按嵌入文档中的字段对MongoDB集合进行排序?

我想使用Mongoid运行此查询: db.users.find().sort({'users.roles.name':1}) 在Mongoid中会是什么样子?或者有一种简单的方法让Mongoid执行自定义查询?User.asc(“roles.name”)应该为您完成这项任务。首先,您能否回答一个简单的问题:如何按数组对文档排序?是的,我也不知道 我想您可以使用位置运算符按特定角色进行排序: db.users.find().sort({'roles.0.name':1}) 但我不确定,也无法正

Mongodb 向Mongo添加复杂类

在Mongo中尝试向现有文档添加复杂类型时遇到问题 我有以下两门课 public class UserObjectCollection { [BsonId] public Guid UserId { get; set; } public Dictionary<string, object> UserObjects { get; set; } public UserObjectCollection() { UserObjects =

Mongodb 如何在Doctrine ODM V1中创建自定义引用类型?

在Doctrine MongoDB ODM中有没有办法有一个稍微定制的引用@ReferenceOne、@ReferenceMany 例如,@ReferenceOneWithTs将保留一个timestamp字段以告知何时创建引用,或者@ReferenceManyWithName将为每个引用保留一个$name字段,等等 我认为这可以通过在TS文档中嵌入一个或多个自定义引用来实现,例如时间戳字段,但如果可以通过注释a-la实现,则会更加优雅 被交叉张贴在谷歌群组上,并在那里回答:目前这是不受支持的。被

如何修复我的mongodb?

我似乎无法连接到Mongo DB,我在本地机器上安装了它作为Windows服务。我还构建了一个与MongoDB通信的小WPF应用程序。 错误消息: 错误:无法连接到服务器127.0.0.1 shell/mongo.js:8 4. 异常:连接失败 检测到不干净的关机。您应该使用--repair标志启动它 mongod --repair 修复完成后,停止此项并正常启动 更快: sudo rm /data/db/mongod.lock sudo mongod --dbpath /data/db --

Mongodb 在我的java代码中执行文件中的Mongo DB原始查询

可能重复: 我已经编写了java代码来在java中搜索/插入值到集合中,但我想要的是有一个包含原始MongoDB查询的.js文件 例如:db.collectionname.find(fieldname:fieldvalue) 现在我想逐行读取.js文件并执行原始mongoDB查询。 请帮助我了解将在java-like语句中执行原始Mongo DB语句的函数;在sql中,您可以使用JSON Intrepreter,比如,并输出嵌套的BasicDBObject。剩下的部分是解析db.collect

Mongodb 值不为null的Mongoose查询

希望执行以下查询: Entrant .find enterDate : oneMonthAgo confirmed : true .where('pincode.length > 0') .exec (err,entrants)-> 我是否正确地使用where子句?我想选择pincode不为空的文档。您应该可以这样做(当您使用查询api时): 。。。这将导致mongo查询,类似于: entrants.find({ pincode: {

烫伤性MongoDB连接器

我将滚烫用于ETL实现,我正在寻找一种将滚烫输出转发到MongoDB而不是HDFS的简单方法 如有任何建议,我们将不胜感激 谢谢。这是最近的事。如需详细说明,请参阅。据我所知,截至本文撰写之时,还没有打包成一个现成的源代码

维护mongodb数据的一致性

在MongoDB中维护数据一致性的以下两个选项的最佳实践、折衷或有效性是什么 使用cron作业进行手动缓存(即存储冗余数据并使用脚本定期传播更改) 每次动态加载数据,但有一个缓存层(或利用内置的mongodb缓存) 例如,假设有注释和用户。使用选项1,每个注释将包含: { user_id: user_displayname: user_gravatar: [comment fields] } { user_id: [comment fields

Mongodb 没有可用的隐式视图

当尝试通过大容量加载DBObject的列表时,我发现没有可用的隐式视图 collection.insert(listObjects)//listObjects是一个列表[DBObject] [error]Test.scala:139: No implicit view available from List[com.mongodb.casba h.Imports.DBObject] => com.mongodb.casbah.Imports.DBObject. 这个错误意味着什么?我该如

Mongodb Mongo$使用选择性查询的所有查询

Mongo对$all运算符的注释 在当前版本中,使用$all运算符的查询必须进行扫描 与查询数组中第一个元素匹配的所有文档。作为 因此,即使有支持查询的索引,操作也可能 长时间运行,特别是当数组中的第一个元素是 不是很有选择性 考虑到我的DB结构(如下所示),我正在考虑如何确保每当我使用Mongo API进行$all查询时,第一个参数将是更具选择性的字段 { _id: 1, records : [ {n: "Name", v: "Kevin"}, {n: "Age", v: 100} ]

Mongodb 具有两个$OrderBy的复杂查询

以下是我收藏的结构部分: by: [ { id: ObjectId("XX"), type: NumberInt(1) } ], timestamp: NumberInt(), // is timestamp 1 status: NumberInt(0), mails: [ { id: ObjectId("YY"), text: "", timestamp: NumberInt(), // is timestamp

向部署的流星写入数据';s应用程序MongoDB

我有一个meteor应用程序,其中我使用mongoDB从ios应用程序写入。当meteor应用程序在本地运行(端口3000)时,此功能可以正常工作。我只需使用dbConn=[mongoconnectionconnectionforserver:@“127.0.0.1:3002”错误:&error]问题是一旦我将应用程序部署到meteor.com。我可以通过使用ping whatever.meteor.com找到ip地址,但是我该从哪里开始呢。我不知道如何写入已部署的mongoDB。这应该相当简单

Mongodb子文档日期范围返回错误结果

第一次在Stackoverflow。 我试图对数组集合运行日期范围查询,但Mongo Shell返回的无关文档与我的条件不匹配。我通过PHP驱动程序、Doctrine Mongodb查询生成器或MongoShell进行查询并不重要 我的问题是: db.deals.find( { "total_sold.created_at": { $gt: new ISODate("2014-03-05T00:00:00Z"),

Meteor.js:MongoDB批量/批量升级

我在互联网上搜索了几个小时,寻找一种解决方案,在Meteor.js的smart collections中进行批量升级是有效的 场景: 我正在使用api,每12小时异步获取200个属性的更新信息。对于每个属性,我平均得到大约300个JSON对象的数组。70%的对象可能尚未更新。但对于其余30%的对象,我需要在数据库中更新它们。因为若不将这些30%的对象和数据库中的文档进行匹配,就无法找到它们,所以我决定将所有文档都插入 我的选项: 在对象数组上运行循环,并向上插入数据库中的每个文档 从集合中删除所

MongoDB-不同集合中的相同\u id

我有两个集合名为Users和ElectedUsersElectedUsers是用户的子集 拥有两个集合的主要原因是每个集合都有一些独特的不同服务。因此,我必须为此维护两个集合 但是,当将文档保存到ElectedUsers时,它首先从用户集合中获取文档,并执行一些业务逻辑,然后使用相同的\u id将其保存到ElectedUsers。对于特定文档,两个集合中的id字段可以相同 我想知道这是否违反了最佳实践?或者它对切分或任何其他操作有严重影响吗?如果您使用_id作为切分键,则具有重复的_id值可能会

MongoDB shell查询选择器?

这个查询是只返回满足两个键的文档,还是同时显示只包含一个键的文档 db.collection.findOne ( {price : 1, age : 1} ) 空查询选择器参数将如何反映结果 db.collection.findOne ( {}, {price : 1, age : 1} ) 1) 此查询db.collection.findOne({price:1,age:1})将返回同时满足键price=1和age=1的文档 如果要使用或匹配,请使用以下语法: db.collection.

MeteorJs MongoDB生产部署

我是MeteorJS的新手,我有一些烦人的问题 如果这些过于简单,请原谅我。:) 背景:我想使用这个框架来编写一个移动应用程序(到目前为止还没有web端),并点击我现有的RESTful端点进行数据查询和CRUD 既然我不需要数据库(bc我已经有一个连接到我的另一个后端)我如何删除或关闭MongoDb?我找到了答案,我删除了meteor平台,但它不知怎的又被添加了回来。(只需执行标准的meteor创建——示例TODO) 如果我无法关闭Mongo功能,那么将它保留在那里并且永远不使用它会有什么坏处吗

mongodb是否有一个选项,可以在创建文档后对其进行写保护?

我正在开发一个使用mongodb作为数据库的订购系统。我希望在创建订单文档后将其设置为只读,以便保存到数据库后无法对其进行编辑。你知道mongo是否有这样的能力吗 我搜索过谷歌,阅读过mongo文档,但到目前为止还没有找到任何关于此功能的参考资料。我希望这个选项确实存在,只是到目前为止还没有人写过:)不,这个选项不存在。您的代码应该负责使系统审计在应用程序级别安全,而不是较低级别的技术 “防止修改”的一个关键问题是不清楚这到底意味着什么。例如,在迁移过程中更改数据类型或数据结构(例如从price

Mongodb 子数组中的搜索

来自数据库的示例文档 { "_id": ObjectId("54f44a657f8b9a1d318b4567"), // other fields "ligaments": [ [ { "data": "dia", "order": 0 }, { "data": "hub", "order": 1 } ], [ { "da

将autoscale组中的EC2 Classic服务器连接到VPC内的MongoDB

我在autoscale group(ASG)中有一组服务器运行在EC2 Classic中。 在新项目中,我们在一个VPC中安装了MongoDB 问题是我们希望从EC2 Classic ASG中的每个实例连接到VPC中的MongoDB。检查了许多文档,我发现唯一的方法是在VPC中打开规则,允许从EC2 Classic中实例的公共IP访问27017。但ASG上的服务器通常会发生变化,新服务器无法连接到VPC 我想在MongoDB中设置auth,然后向所有人打开端口27017:( 你们有解决这个问题的

如何在MongoDB中从hashmap中获取平均值?

我的Mongo数据库中有一个时间数据。每个文档等于一分钟,包含60秒作为对象,每个文档都有值。如何在一分钟内获得所有秒的平均值 看起来像这样的文档: { "_id" : ObjectId("55575e4062771c26ec5f2287"), "timestamp" : "2015-05-16T18:12:00.000Z", "values" : { "0" : "26.17", "1" : "26.17", "2" :

MongoDB聚合每个通配符键的多个组$sum

我有一个收藏和下列文件 { _id: '1234', __extract: { flavor: 'apple', color: 'green' } } { _id: '1235', __extract: { flavor: 'apple', color: 'green' } } { _id: '1236', __extract: { flavor: 'mint', color: 'green' }

MongoDB仅从集合中删除第一个字段

我是MongoDb的初学者。我想知道在MongoDb集合中删除字段的查询是什么。我已经用 db.Component.update({},{$unset: {vendor:""}}). 它只更新了第一个文档。那么如何从集合中完全删除字段呢?试试这个-db.Component.update({},{$unset:{vendor:},false,true) 此处false添加{“muti”:true}作为第三个参数对象。此处false表示如果指定的字段不存在$unset将不起任何作用,而true将应

Mongodb 如何对不在非正统大小的子文档数组中的内容进行mongo查询?

我有一个mongodb集合,里面有65k+个文档,每个文档都有一个名为site_histories的属性。它的值是一个数组,可能是空的,也可能不是空的。如果它不是空的,它将有一个或多个类似于以下内容的对象: "site_histories" : "[{\"site_id\":\"129373\",\"accepted\":\"1\",\"rejected\":\"0\",\"pending\":\"0\",\"user_id\":\"12743\"}]" 我需要进行一个查询,查找文档集合中没有

Mongodb 流星中的反应性是否受查询中选择的场的影响?

如果我的UI依赖于 MyCollection.find({_id: "..."}) 我知道,只要文档中的任何字段发生变化,它就会触发反应。但如果我只是从该文档中选择一个字段: MyCollection.find({_id: "..."}, {fields: { MyAttr: 1 }}) 对该id文档的任何更改都会触发反应性,还是仅对该文档的MyAttr字段的更改才会触发反应性?我做了一个简单的测试来确定这一点: test.html: <template name="test">

按内部数组分组的MongoDB聚合计数

我正在使用MongoDB 3.2 此查询有问题 (为类似SQL的语法提前道歉,我只是从SQL学习Mongo) 我需要找到文件的数量在哪里 "audit_event_type_id" : 1 shop2.date" BETWEEN "2014-10-01" AND "2015-09-01" 分组 shop2.facility_name MONTH(shop2.date) YEAR(shop2.date) 订购人 count DESC 有没有办法将查询中的字符串转换为日期?我知道我正在将sho

Mongodb _解析迁移中未定义的用户表

在宣布parse将于明年退出后,我开始迁移到我自己的mongo db 我已经完成了迁移操作,数据似乎已经存在,但是任何下划线表都不能与Mongo shell一起使用。我不是特别精通mongo,但我看到的是: > show databases local 0.078GB test 0.203GB > use test switched to db test > show collections Chat ChatStatus Message Session SessionB

MongoDB停止运行VirtualLock&;致命的断言错误消息

我使用TeamCity运行了一些测试,这些测试将使用MongoDB。完成此测试大约需要4小时。运行1-2小时后,所有剩余的测试开始失败。我检查了服务器,发现MongoDB服务已经停止运行。检查日志文件并发现以下内容: 2016-03-11T09:30:14.212+0100 I网络[initandlisten]连接已从127.0.0.1:49398#272接受(38个连接现已打开) 2016-03-11T09:30:54.104+0100 I网络[initandlisten]连接已从127.0.

MongoDB:记录计数高时发出警报

我是MongoDB的新手,有一张如下表 boxname time_create box_data 基本上,我们在这里记录的是哪个盒子在什么时间发送什么数据 现在我的要求是,如果一个框发送的请求超过阈值,表明该框可能有错误或可疑,则在系统中创建一个警报。我可以得到一个框在一段时间内的记录计数,比如说10分钟——但这个查询是不同的——每10分钟检查所有框的计数,并检查是否有超过阈值的记录 我需要在10分钟后进行定期投票吗?一个程序是否需要无限期地运行以计数和报警?实现同样的功能的最佳方法是什么 对

Mongodb 流星中的Mongo索引

不确定我是否理解Meteor中的mongo查询索引。现在,我的查询都没有索引。在应用程序的某些页面上,有15或20个链接指向一个独特的mongo查询。每个查询是否会单独编制索引 例如,如果其中一个查询类似于: Template.myTemplate.helpers({ ... if (weekly === "1") { var firstWeekers = _.where(progDocs, {Week1: "1"}), firstWeekNames = firstWeeker

Mongodb 聚合子文档忽略键顺序

测试数据: db.moretest.insert( [ { "title" : { "a" : 1, "b" : 2 } }, { "title" : { "a" : 1, "b" : 2 } }, { "title" : { "b" : 2, "a" : 1 } }, { "title" : { "foo" : 42, "a" : 1 } }, ] ) 我想计算一个键在“title”中出现的频率,忽略顺序。例如,{a:1,“b:2}和{b:2,“a:1}应该被同样对待 但是,此查询不

MongoDB:如何向集合中添加'id'字段?

我想在集合中添加一个id字段,数字从1开始。 例如 有一系列文章: {"_id" : ObjectId("98r498jfgragaja9ra4"),"titile":"foo","content":"foo..."} {"_id" : ObjectId("498aut89auhgua4940q"),"titile":"bar","content":"bar..."} {"_id" : ObjectId("30ua9ah984yhtauiga9"),"titile":"hello","conte

什么';mongodb中copydb和clone命令的区别是什么

我不明白为什么mongodb有两个命令copydb和clone。 有人能告诉我这些区别吗?据我所知,copydb和clone之间有什么区别。也许我们可以得到更好、更丰富的信息 copydb: copydb在目标mongod实例的管理数据库中运行。这意味着您希望在哪种情况下复制 源数据库 copydb如果目标实例中不存在目标数据库,则创建该数据库 若数据库存在但并没有集合,那个么将把所有集合从源数据库复制到目标数据库 如果目标数据库中存在任何集合,则copydb将返回错误,并且不会从源数据库复制任

Azure CosmosDB:为MongoDB API启用点表示法

我们正在使用MongoDB API将存储后端迁移到Azure CosmosDB。在那里,我们注意到使用点表示法查询数组值不会返回任何结果 如点符号中所述,默认情况下禁用点符号 是否有办法使用Azure Portal或CLI客户端启用它?默认情况下,对于2017年8月之后创建的所有帐户,阵列上的“点符号”都应启用。可能使用Azure德国作为环境是一个问题。我联系了支持人员。@ozan,迈克的回答是你要的吗?

Meteor MongoDB数据库本地主机与服务器

我用Meteor创建了一个站点,它在本地主机上运行得非常好,但在服务器上却不行。我在我的mongoDB中有一个集合,我使用python脚本填充它,这个脚本填充了我的本地服务器和mongoDB。我可以看到它是使用数据库管理器填充的。但是,my localhost中的调用会打印一个包含文档的数组,服务器上网站上的相同代码/操作会返回一个空数组 我真的不知道问题出在哪里,有人能帮我解决吗 python脚本,本地和服务器上相同 def write_data(documents, collection_n

MongoDB:Canned';t添加用户-未授权(CloudFoundry)

我有一个MongoDB(服务计划:small),我想创建一个额外的用户,但似乎我没有这样做的必要特权 db.createUser({ user: "whateverusername" , pwd: "whateverpassword", roles: ["userAdminAnyDatabase", "dbAdminAnyDatabase", "readWriteAnyDatabase"]}) 无法执行脚本 错误:无法添加用户:未在XXXXXXX上授权执行 命令{createUser:“wha

更改MongoDB Compass上的报告样本大小

我想知道在使用compass查看DB集合时,是否有办法将其视为模式来更改报告样本大小,因为我当前的文档是5000,而报告是基于1000的 对我来说,正确地可视化我正在收集的统计数据是很有用的,如果不可能,我将不得不编写自己的可视化 提前谢谢 默认情况下,sampleSize设置为1000个文档,不能在MongoDB Compass中更改 如果您使用的是MongoDB Atlas,您可能会想使用它。您需要使用对象ID和指定字段创建图表 否则,您将需要安装以获得更全面的模式选项

MongoDB聚合嵌套值

在MongoDB集合中,有嵌套在缺席数组中的数据 { "_id" : ObjectId("5c6c62f3d0e85e6ae3a8c842"), "absence" : [ { "date" : ISODate("2017-05-10T17:00:00.000-07:00"), "code" : "E", "type" : "E", "isPartial" : false }, { "date

Mongodb 在分片集群上创建用户

在环境上的createUser()之后,我遇到了一些问题。 也许这可能是对分片集群的一些误解 所以。 我已使用我的管理员用户登录MongoS,并运行该语句来创建用户 use mydatabase db.createUser( { user: "myreaduser", pwd: "password", roles: [{role: "read", db: "mydatabase"}] } ) 在此之后,我成功地与该用户在MongoS上登录。 我可以将用户视为管

Mongodb 加快大型集合上的聚合

我目前有一个数据库,包含大约27万个文档。它们看起来像这样: [{ 'location': 'Berlin', 'product': 4531, 'createdAt': ISODate(...), 'value': 3523, 'minOffer': 3215, 'quantity': 7812 },{ 'location': 'London', 'product': 1231, 'createdAt': ISODate(

Mongodb CosmosDB(mongo/mongoose)批量写入错误

我正在尝试使用insertMany将50个文档放入一个集合中。在本地仿真器上,这可以正常工作。当我在Azure中使用CosmosDB尝试相同的代码时,我得到以下错误: 2019-12-05T00:12:51.320 [Information] Connected to Cosmsos DB 2019-12-05T00:12:51.576 [Error] failed to create users, err: BulkWriteError: Error=16500, RetryAfterMs=7

Mongodb 在我的例子中,为什么我的mongoose请求返回一个查询而不是结果数据、用户信息?

我不知道为什么它现在对我不起作用,但它以前确实起作用了 我需要从数据库中检索信息。我可以使用Model.create轻松保存数据,但当我想要获取数据时,我会得到: Query { _mongooseOptions: {}, _transforms: [], _hooks: Kareem { _pres: Map {}, _posts: Map {} }, _executionCount: 0, mongooseCollection: NativeCollection {

MongoDB$文本搜索未返回预期结果

我根据Mongo集合中的title和main_body字段创建了一个文本索引。例如,我有一篇文章的标题是:Abby Bengtsson和她的名字Abby,出现在正文的实际文章中 进行文本搜索查询:{$text:{$search:'abby bengtsson'}},返回所需的文章以及其他一些文章。 但只要查询她的名字:{$text:{$search:'abby'}},就不会返回任何结果。 我尝试过使用Mongo Compass,下载Studio 3T,并在服务器上直接使用ssh和终端命令。

在Kotlin的vert.x verticle中创建和访问MongoDB数据库

我想通过vert.x创建和访问MongoDB。下面我将介绍如何从vert.x连接和使用MongoDB,但当我尝试使用下面的简单代码时,它会抛出一个错误 import io.vertx.core.Vertx import io.vertx.core.json.JsonObject import io.vertx.ext.mongo.MongoClient fun main() { val vertx = Vertx.vertx() val config = mapOf(Pair(

Mongodb 对空数组使用$push

我有一个mongo文档,它有一个名为events的数组字段 此字段有时可以为空 我使用$push将元素添加到事件数组中。问题是,当events字段为null时,它无法工作 例如,如果在数据库中,它如下所示: { "_id" : ObjectId("4d2d8deff4e6c1d71fc29a07"), "user_id" : "714638ba-2e08-2168-2b99-00002f3d43c0", "

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