为MongoDB实现隔离级别

我已经在MongoDB上实现了2PC协议,如MongoDB和MongoDB中所述 基本上,这很好:我现在有一个全有或全无的语义,这基本上就是我想要的 不幸的是,现在所有东西都以“隔离级别”uncommitted read(我知道MongoDB根本没有隔离级别,因此使用引号) 我想做的是实现隔离级别提交读取,不可重复读取和幻影读取——这也是最佳的-“可序列化” 然而,我丝毫不知道如何做到这一点提交读取似乎是最简单的选择 任何想法,提示,链接。。。在哪里可以找到关于如何实现这一点的其他信息?也许您可

MongoDB:将平均速度存储为字段或在运行中计算

我正在开发一个Android应用程序,它使用MongoDB以文档格式存储用户记录。我将有几个记录,其中包含有关GPS轨迹的信息,例如开始经纬度、结束经纬度、总时间、最高速度和总距离 我的问题是关于平均速度。我应该让我的应用程序计算平均速度并将其作为字段存储在文档中,还是只通过获取时间和距离来计算 我将有数千条记录,这些记录应该根据平均速度进行排序,最合理的记录似乎也会将平均速度存储在文档中。然而,这打破了传统的sqlacid思想,即速度将在DB之外计算 记录集合的当前文档结构如下所示: Docu

MongoDB CPU固定;探查器返回“;剖面线太大“;

每6-12小时,我的MongoDB CPU就会被锁定(100%的CPU使用率) 我已经启用了分析功能。上次返回此消息时: PRIMARY> db.system.profile.find().sort({$natural:-1}); { "ts" : ISODate("2012-11-08T05:31:09.042Z"), "client" : "10.188.14.195", "user" : "", "err" : "profile line too large (max is 100K

Mongodb 防止Spring数据用于Mongo将ID转换为ObjectId

我在现有数据库上使用Spring数据进行Mongo。以前的应用程序将普通字符串用于ID而不是ObjectId 我的问题是Spring数据坚持将字符串转换为ObjectId,这使得所有按id进行的查询都失败 例如,当我执行repository.findOne(“”)时,执行的查询是{“\u id”:{“$oid”:“50cf9f34458cf91108ceb2b4”}而它应该是{“\u id”:“50cf9f34458cf91108ceb2b4”} 有没有办法避免Spring数据将字符串ID转换为

MongoDB中相同记录中的更新是否会使数据库增长?

我在我的web服务器(一个播放器id递增器)中多次更新同一条记录,所以我的问题是,这种重复更新是否最终会使MongoDB数据库变大(例如,由于事务日志),或者db的大小几乎保持不变 如果db因此而变大,我如何防止这种情况 谢谢大家! 编辑: 有关此情况的更多详细信息: 更新声明如下: db.usergen.update({ userprefix: userPrefix }, { $set: { number: userIdNumber } }, { upsert: true }, fun

mongodb查询集合,从_

基本上,问题很简单: 如何对以\开头的集合发出查询 例如,如果我有两个集合test和\u test,我正在db.test.findOne()和db.\u test.findOne()中mongoshell第一个集合按预期工作,而第二个集合告诉我TypeError:db.\u test没有属性(shell):1将其置于引号中并使用getCollection方法。看到这个了吗 示例要创建集合_foo并插入{a:1}文档,请使用以下操作: db.getCollection("_foo").insert

MongoDB-$maxscan选项

我收集了9份文件。 我正在用 选项\u addSpecial($maxscan),5) 但仍然返回了9个文档。 我期待5份文件被退回。 为什么会这样 我在这里查看了文档 但我不认为它提供了任何线索。MongoDB是区分类型的和区分大小写的,这意味着您必须准确地编写运算符。你写的像是$maxscan,但实际上,根据文档是$maxscan谢谢,所以这只是我正在读的这本书中的一个打字错误。这都是小写的。 C:\>mongo C:\>C:\Programs\MongoDB\bin\mon

Mongodb Grails对几个域类的唯一约束

有没有办法使两个域类的值唯一。 例如: Class A { String username } Class B { int roll_no } 我希望用户名和卷号的组合在数据库中是唯一的 我在后端使用MongoDB 提前感谢。可能重复感谢约书亚,但我尝试了这些方法。没用。这只是我的帖子:你到底是指什么组合?如何持久化?@injecteer对于每个用户名应该只有不同的roll\u no值。例如:abc 1、abc 2、abc 3是允许的,但abc 1、abc 1是不允许的。A类和B类有什么关系?

使用MongoDB Java驱动程序以编程方式设置切分键

MongoDB Java驱动程序版本2.10.1中设置分片密钥的语法是什么 或者换一种说法,我如何使用Java驱动程序来实现这一点 sh.shardCollection("test.a", {"_id": "hashed"}}) 这方面没有API。您必须发出命令来设置该切分键。简短回答:您应该发出shardCollection命令 长答覆: MongoDB shell中的sh.shardCollection只是在admindb上调用命令的辅助方法 如果在MongoDB shell中输入sh.s

MongoDB中的内存映射文件

当我们说MongoDB使用内存映射文件时,是指将整个数据集加载到内存中还是仅加载索引?我需要一个清晰的图片,说明内存映射文件在MongoDB中是如何工作的。不,数据不会立即或急切地加载到内存中,而是通过访问模式加载到所谓的工作集内存中 因此,如果你质疑: db.c.find({a:1}) 如果在没有覆盖查询的情况下在上有一个索引,则会对匹配查询的文档以及为满足查询而需要查询的索引范围进行筛选 但它只会在您转到实际查询时执行此操作 您可以通过使用诸如touch之类的命令或使用将实际加载到工作集(

MongoDB vs TokuMX-为什么默认情况下不使用TokuMX而不是MongoDB

TokuMX是MongoDB的开源替代品。与MongoDB相比,它具有事务、压缩等特性,因此占据了上风。。那么为什么TokuMX不是MongoDB之前的默认选择呢??这里有人在生产中使用过TokuMX吗 几个月前我们在评估TokuMX,我们拒绝它的主要原因是缺少新的2.6功能(当时它基于2.4 mongo引擎)。 此外,我们发现,真正的压缩与广告中所宣传的相去甚远(当然,在我们的案例中,您的案例可能更接近于它们的理想条件),而且几乎没有性能上的提升。我们认为这个游戏不值一文。我被TokuMX吸引

MongoDb索引交叉点的使用

我很难理解MongoDB如何处理我的查询。我的文档几乎只包含数组字段,这使我无法使用复合索引。 每个字段都用ensureIndex{FieldName:1}索引 查询是按如下方式合并和连接的: {$and:[{FIELD1:field1Val},{FIELD2:field2Val},{FIELD3:field3Val}]} 如果我运行这个查询,MongoDB似乎只使用一个索引。 为什么MongoDB不并行使用所有索引,然后将它们相交 使用Lucene解决的同一问题的运行速度比我的MongoDB实

具有两种组计数的mongoDB聚合

如果我想知道john在这个数据列表中花了多少钱,有多少人买了10美元的产品 数据列表: [ { "name": "john", "payment": 10 }, { "name": "john", "payment": 25 }, { "name": "michel", "payment": 10 } ] 我应该提出两个要求吗?或者有什么方法可以一次得到这个吗?我相信你必须使用两个单独的查询来实现这一点 问题1 问题2: 试试这个,看看每个人付了多少钱 db.collection.

MongoDB的$in条款是否保证订单

使用MongoDB子句时,返回文档的顺序是否始终与数组参数的顺序相对应?始终?从不顺序总是一样的:未定义可能是文档存储的物理顺序。除非对其进行排序。如前所述,$in子句数组中参数的顺序并不反映检索文档的顺序。当然,这将是自然顺序或所选索引顺序,如图所示 如果你需要保持这个顺序,那么你基本上有两个选择 假设您将文档中的_id的值与一个数组进行匹配,该数组将作为[4,2,8]传入$in 使用聚合的方法 var列表=[4,2,8]; db.collection.aggregate[ //按_id匹配所

Mongodb 为什么可以';我不能访问我的vi文件夹吗?

我的终端上不断出现这个错误,这使我无法访问vi文件夹。我一直在尝试设置MongoDB bin的路径,在尝试如何实现这一点时,我认为我已经破坏了文件夹。有人能帮忙吗 Last login: Mon May 18 10:31:54 on console -bash: export: `/Users/james.flan/Documents/Software/MongoDB/bin :/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin': not a valid

如何在mongodb中修改字符串的值

我有一个查询,用于查找我要查找的项目: db.user.find({email:/xhjvv123/}).pretty() 这些电子邮件的前8个字符都是字符串(xhjvv123)。我想找到所有带有该字符串的电子邮件,然后删除该字符串 我想我可以使用$substr,但我只能找到返回数据的示例。如何实际更改字符串 根据评论编辑 我有一封电子邮件xhjvv123dbw@test.com。我想将电子邮件更改为dbw@test.com。这将适用于数百封电子邮件;我想找到所有带有字符串xhjvvv123的

Mongodb 无法在OpenShift上部署我的应用程序;未能执行:';控制部署';对于/var/lib/openshift/XXX/jbossews“;

将新更改推送到我的OpenShift存储库时,应用程序构建良好,但无法部署: 存储库ssh://XXX@myapp mydomain.rhcloud.com/~/git/app.git/ jbossews盒带已停止 停止MongoDB盒带 停止RockMongo盒带 等待停止完成 等待停止完成 建筑git参考“主”,提交9a591e1 使用Maven mirror/var/lib/openshift/XXX/app root/runtime/repo/.openshift/config/sett

Mongodb Spring数据获取group by的唯一值

我的MongoDB数据库中有以下记录,我只会得到年份。e、 g.如果我有: ID year ... 1 "2016" ... 2 "2016" ... 3 "2017" ... 4 "2016" ... 5 "2018" ... 然后我会得到: 2016 2017 2018 结果呢。对于方法名为Spring的数据(我没有看到GroupBy中的方法)或@Query,这在某种程度上是可能的 您可以发出命令以获得所需的结果。在mongo shell中,运行以下操作: db.

mongodb将字段a更新为字段b的值

我正在尝试运行mongo查询,以将一个字段的值更新为另一个字段的值。我有以下文件: { "_id" : ObjectId("56e0a3a2d59feaa43fba49d5"), "old" : 16, "new" : 17 } { "_id" : ObjectId("56e0a3a2d59feaa43fba49d3"), "old" : 11, "new" : 12 } 我想在更新后使其看起来像这样: { "_id" : ObjectId("56e0a3a2d59feaa43fba49d5

MongoDB按键值对聚合/分组

我的数据如下所示: { "_id" : "9aa072e4-b706-47e6-9607-1a39e904a05a", "customerId" : "2164289-4", "channelStatuses" : { "FOO" : { "status" : "done" },

看来我能';在mongodb中不执行并发读取/计数操作

我有一个非常大的集合,其中包含数千万个文档,当我执行以下操作时,它需要很长时间才能返回 db.collection1.find({'venue.name': 'KDD'}).count() 在此操作完成之前,我想执行其他读取/计数操作,如以下操作: db.collection2.find().count() db.collection3.find() 但它们都会阻塞(当我不进行第一次操作时,它们会立即返回) 这合理吗?这些操作不都是读操作吗?为什么它们不是由mongodb并发完成的 编辑:m

使用Spring数据mongodb更新嵌入式mongodb文档中的数组字段?

我正在尝试使用SpringDataMongoDB更新mongodb中嵌入文档中的数组字段 我希望在mongodb集合中更新/插入的文档结构如下所示 根据部门的不同类型,可以有更多这样的文档,比如“销售”、“营销”等等 { "timestamp": "2014-09-26T04:00:00.000Z", "department": "accounts", "employee": [ { "type": "regular",

Mongodb 在名为“的嵌入文档中插入所有字段的文档”;0“;

当我执行db.persons.find()时我有一个文档{“id”:“yn4toWcMXtsK7E9Ds”,“0”:{“id”:“1010”,“name”:“xxx”,“address”:“some address”} 此文档已添加到服务器端的“我的数据库”中 我的代码: Meteor.startup(function () { if (Persons.find().count() === 0) { var person = [ { '_id': "1010", 'name

Mongodb 在对象数组中使用$lookup

我的文档结构如下: { _id: 123, name: 'My playlist', videos:[ {videoId:1}, {videoId:2}, {videoId:3}] } 现在我想在视频集合中执行$lookup以获取所有视频数据。最后,我需要这样的数据结构: { _id: 123, name: 'My playlist', videos:[ {videoId:1, videoDetails:[{_id:1, title:'My fu

如何在管道聚合(mongoDB)中比较文档中的两个字段

我有如下文件: { "user_id": NumberLong(1), "updated_at": ISODate("2016-11-17T09:35:56.200Z"), "created_at": ISODate("2016-11-17T09:35:07.981Z"), "banners": { "normal_x970h90": "/images/banners/4/582d79cb3aef567d64621be9/photo-1440700265116-fe3f9

Can';无法在windows 7中启动mongodb服务器

我正在使用Windows7 64位笔记本电脑,它包含8GB内存,我成功安装了mongodb,而我正在尝试使用“net start mongodb”连接服务器,我经常卡在那里?它显示服务名称无效,有人能帮我重新解决这个问题吗 打开命令提示符 导航到安装mongodb的位置(通常位于C:\Program Files\mongodb\Server\3.2\bin) 键入mongod,然后按enter键 来自MongoDB: 启动MongoDB。 要启动MongoDB,请运行。例如,从 命令提示符: "

为什么在MongoDB查询中使用球形时会收到错误消息

我想找到[2,2.01]的最近点,我键入了下面的查询语句,但它给了我一条错误消息:geo near query中的参数无效:球面,详细信息可以在下面找到 > db.places.find() { "_id" : ObjectId("5892a41f8c4ec25d8bf6bc61"), "log" : [ 2, 2 ] } { "_id" : ObjectId("5892a4298c4ec25d8bf6bc62"), "log" : [ 4, 2 ] } { "_id" : ObjectI

Mongodb 如何从模型keystone获取mongoose模式?(或者如何从集合生成猫鼬模式)

我想将keystone连接到另一个请求mongoose模式的应用程序 如何从模型keystone获取mongoose模式?(或者如何从集合中生成mongoose模式)我刚刚发现您可以使用Keystone列表的模式,如下所示: var User = new List('User') User.schema // Use this for the mongoose model 您是在试图找出如何在NodeJS路由中公开您的Keystone架构,还是在尝试在另一个架构中工作,并有效地将您的Keyst

Mongodb mongo在聚合中使用temp

我有一些json格式的飞行数据: {"_id":{"$oid":"587d12881603f94800054dc5"},"flight_date":{"$date":"2015-08-23T00:00:00.000Z"},"flight_number":863,"destination_city":" Baltimore, MD","delay_in_minutes":0.0,"cancelled":0.0} 我想做的是找到取消航班率最高的月份。代码I将取消的航班按月分组,并将每个航班除

Scala中使用casbah对MongoDB进行ISODate查询

我正在使用Casbah for Scala插入/更新MongoDB文档。我面临的挑战之一是按日期或ObjectId查询MongoDB文档。我的MongoDB文档看起来像 { “_id”:ObjectId(“58d2cfe5fbb1bb15209d3b02”), “姓名”:“乔”, “db_日期”:ISODate(“2017-01-26T07:00:00.000Z”) } 我对按objectId搜索MongoDB集合的查询如下所示 for (x <- collection.findOne(M

Mongodb将查找和更新结合起来

是否可以基于查找值更新数据库 pipeline = [ {'$limit': 10000}, # to limit query for testing purpose {'$lookup': # left join of user_cities DB {'from': 'weather_mapping', 'localField': 'cityId', 'foreignField': 'id', 'as': 'mapping'} }, {'$lo

Mongodb 传递给查询的参数太多:{“currentStock”:

我是Mongo&Ws02 DSS的新手。下面是我编写的更新操作,用于更新Mcongo名为“inventory”的集合中的现有文档 inventory.update({“itemId”:“3”},{“currentStock”:“2”}) 虽然所有的简单操作都运行良好,但我得到以下嵌套的异常进行更新: java.lang.IllegalArgumentException:传递给查询的参数太多:{“currentStock”:“2”} 为了简单起见,我在没有使用我创建的参数的情况下进行了硬记录,

访问Mongodb中的文件

我正在使用python中的神圣包,这允许跟踪我正在运行的计算实验。神圣允许添加观察者(mongodb),该观察者存储有关实验的各种信息(configuration,源文件等)。 神圣允许使用神圣。实验。添加工件(路径到文件)。 该命令实质上是将文件添加到数据库中 我使用的是MongoDB compass,我可以访问实验信息并看到添加了一个工件。它包含两个字段: “name”和“file\u id”,其中包含一个ObjectId。(见图) 我正在尝试访问存储的文件本身。我注意到在我的数据库下有一个

从不同服务器写入同一mongoDB

我有一个共享存储分区。 我使用3个不同的服务器从web上收集一些数据。 我想将所有这些数据插入一个公共数据库。有什么方法可以在mongoDB中实现吗?是一个数据库服务器程序。因此,您可以在一台计算机上安装一个服务器程序,并让三个应用程序作为客户端通过TCP/IP访问它 不要让三台mongodb服务器共享相同的共享磁盘分区或NFS远程网络文件系统 服务器一词有两种不同的含义:服务器程序和服务器机器;我使用它的服务器程序

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

我在我的项目中使用了一段时间的MongoDB。但是Um目前是MongoDBcompass应用程序的新成员。所以当我想一次删除很多文档时。 在Mongo Compass中如何执行该操作?最新稳定版Compass(1.16.3)不支持删除多个操作。 为此,您需要使用mongo shell- Compass中的一个解决方法是,先删除集合,然后创建同名集合,甚至导入一些示例文档 唯一的方法[直到1.20.5版]是从MongoShell执行delete命令。 下面是使用mongo shell删除与筛选器匹

Mongodb 如何进行单元测试可聚合<;用户>;

在Java/Mongo中使用AggregateIterable时,很难模拟返回什么 我尝试过使用MongoCursor,但很难理解这一点。我想用单元测试来覆盖所有路径。使用mockito和testNG的最佳方法是什么 public List<User> getAggregatedList(User user){ AggregateIterable<User> agg = collection.aggregate(pipeline, User.class) Li

MongoDB排序检查索引列上的记录过多

在使用mongodb排序函数时,我注意到它检查了太多的记录,但如果我不使用排序,它只检查22个文档并返回它们 我正在尝试让那些购买了DESC订单中的一些产品的用户 products.userid和orderTime都被索引 db.collection.find({$or:[{'products.userIDs':{$in:usersArray}} , {'item.userIDs':{$in:usersArray}}]}) .sort({orderTime:-1}) .explain(); 未

Mongodb 根据Mongo DB aggregate中未命名的嵌套对象数组中的条件获取值的键

我的文档结构如下: { “_id”:xxxxx, “姓名”:“约翰·多伊”, “职系”:[ { “物理学”:89, }, { “数学”:45 }, { “化学”:57 } ] }您肯定需要$objectToArray来访问未知键的值,但您还需要外部数组以及来确定值超过60的未知键的任何值的位置: db.collection.aggregate([ { $addFields: { Grades: { $filter:

根据mongodb中最近2天的凝乳操作计算集合数?

我想知道一个集合在mongodb中基于其CURD操作(更新、删除和插入)的最近2天发生的计数 最终的结果是我需要知道有多少文件得到更新,插入和删除,其计数在过去2天 如果我的收藏中没有creationDate或UpdateDate键,那么如何计算呢?MongoDB不存储更新的时间。你必须自己储存 可以使用ObjectId创建日期时间 ObjectId("507c7f79bcf86cd7994f6c0e").getTimestamp() // returns ISO date

什么是aws文档数据库中mongodb oplog的替代品,用于侦听集合中的更改?

我们在代码中使用oplog集合(存在于本地数据库中)来检查特定数据库上是否发生事件,并在代码中触发事件。但是,由于aws文档数据库不支持oplog,如中所述“https://docs.aws.amazon.com/documentdb/latest/developerguide/developerguide.pdf",我们如何做到这一点?有其他方法吗?即使在本地mongodb中也不应该使用oplog。这是一种不推荐的方法。现代的方法是使用Amazon DocumentDB支持的变更流:有关Ama

上一页 1 2 ...  9   10   11   12    13   14   15  ... 下一页 最后一页 共 1229 页