Questions tagged «mongodb»

MongoDB是一个可扩展的,高性能,开源,面向文档的NoSQL数据库。它支持多种语言和应用程序开发平台。可以在https://dba.stackexchange.com上询问有关服务器管理的问题。

5
查询布尔字段为“不正确”(例如,错误或不存在)
我确定我在MongoDB查询中缺少一些非常基本的东西,似乎无法获得这种简单条件。 考虑这个集合 > db.tests.find() { "_id" : ObjectId("..."), "name" : "Test1" , "deleted" : true} { "_id" : ObjectId("..."), "name" : "Test2" , "deleted" : false} { "_id" : ObjectId("..."), "name" : "Test3" } 我只想查询“未删除”的所有项目 我知道如何查找将“已删除”标志设置为true的项目: > db.tests.find({deleted:true}) { "_id" : ObjectId("..."), "name" : "Test1" , "deleted" : true} 但是,如何查找所有非项目"deleted"(例如,否定上述查询,换句话说,就是没有"deleted"字段或具有值的任何项目)false …
77 mongodb 

6
具有“或”条件的MongoDB查询
因此,我有一个嵌入式文档来跟踪组成员身份。每个嵌入的文档都有一个指向另一个集合中的组的ID,开始日期和可选的到期日期。 我想查询组的当前成员。“当前”表示开始时间小于当前时间,到期时间大于当前时间或为空。 这个条件查询完全阻止了我。我可以通过运行两个查询并合并结果来做到这一点,但这似乎很丑陋,需要立即加载所有结果。或者,我可以将过期时间默认为将来的某个任意日期,但这似乎更丑陋,而且可能很脆弱。在SQL中,我只是用“((expires> = Now())OR(expires IS NULL)”)表示它,但是我不知道如何在Mongo中做到这一点。 有任何想法吗?首先十分感谢。
77 mongodb 


8
服务器崩溃后MongoDB无法启动
我的Ubuntu计算机崩溃了,当我重新启动它时,MongoDB无法正常工作。我尝试了以下命令,并得到以下输出: $ mongo Error: couldn't connect to server 127.0.0.1:27017 src/mongo/shell/mongo.js:91 exception: connect failed $ service mongodb status mongodb stop/waiting $ service mongodb restart stop: Unknown instance: start: Rejected send message, 1 matched rules; type="method_call", sender=":1.57" (uid=1000 pid=2227 comm="start mongodb ") interface="com.ubuntu.Upstart0_6.Job" member="Start" error name="(unset)" requested_reply="0" destination="com.ubuntu.Upstart" (uid=0 pid=1 comm="/sbin/init") $ …

5
MongoDB GUI客户端(跨平台或Linux)
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow的主题。 6年前关闭。 改善这个问题 将在官方网站上MongoDB的GUI客户端应用程序的列表已经过时:某些客户端不支持,有些是严重势必.NET和Linux上运行的不是。而且它们都缺乏编辑已存储文档的能力(即提供只读访问权限)。 我需要一个GUI客户端: 适用于Linux(但不适用于网络); 免费; 支持文档编辑。 是否有满足这些要求的应用程序?

8
何时在Node.js中关闭MongoDB数据库连接
通过Node MongoDB本机驱动程序使用Nodejs和MongoDB。需要检索一些文档,并进行修改,然后将其保存回来。这是一个例子: db.open(function (err, db) { db.collection('foo', function (err, collection) { var cursor = collection.find({}); cursor.each(function (err, doc) { if (doc != null) { doc.newkey = 'foo'; // Make some changes db.save(doc); // Update the document } else { db.close(); // Closing the connection } }); }); }); 具有异步性质,如果更新文档的过程花费更长的时间,则当光标到达文档末尾时,数据库连接将关闭。并非所有更新都保存到数据库中。 如果db.close()省略,则所有文档均正确更新,但应用程序挂起,永不退出。 …

10
在OSX上安装和运行MongoDB
如果有人可以在这里提供一些见解,我将不胜感激。 我是MongoDB的新手,(相对)命令行的新手。 我在本地的MongoDB上成功运行了express / node.js应用程序,但是在重新启动计算机后,我尝试重新启动Mongo服务器,该服务器开始出现错误,无法启动。从那时起,我几次重新安装Mongo只是为了发现发生相同的错误。这是我收到的: privee:mongodb-osx-x86_64-2.4.6 jonlinton$ ./bin/mongo MongoDB shell version: 2.4.6 connecting to: test Mon Aug 26 14:48:47.168 Error: couldn't connect to server 127.0.0.1:27017 at src/mongo/shell/mongo.js:145 exception: connect failed 我错过了一步吗?我应该创建一个配置文件吗?一些基本的指导将非常有帮助。预先感谢您的任何见解。

3
MongoDB查询性能超过500万条记录
我们最近已经刷新了我们其中一个主要收藏的200万条记录,现在我们开始因该收藏的主要性能问题而受苦。 它们在集合中的文档大约有8个字段,您可以使用UI对其进行过滤,并且应该按记录处理的时间戳记字段对结果进行排序。 我添加了几个复合索引,其中包含过滤字段和时间戳,例如: db.events.ensureIndex({somefield: 1, timestamp:-1}) 我还添加了几个索引,可以同时使用多个过滤器,以期获得更好的性能。但是某些过滤器仍然需要花费很长时间才能执行。 我已经确保使用using来解释查询确实使用了我创建的索引,但是性能仍然不够好。 我想知道分片是否现在是要走的路..但我们很快将开始在该馆藏中每天增加约100万条新记录..所以我不确定它是否可以很好地扩展。 编辑:查询示例: > db.audit.find({'userAgent.deviceType': 'MOBILE', 'user.userName': {$in: ['nickey@acme.com']}}).sort({timestamp: -1}).limit(25).explain() { "cursor" : "BtreeCursor user.userName_1_timestamp_-1", "isMultiKey" : false, "n" : 0, "nscannedObjects" : 30060, "nscanned" : 30060, "nscannedObjectsAllPlans" : 120241, "nscannedAllPlans" : 120241, "scanAndOrder" : false, "indexOnly" : false, "nYields" : 1, "nChunkSkips" …

2
如何清除MongoDB中的控制台
在使用Mongodb控制台或Shell时,有时我的屏幕上杂乱了很多我不需要的输出。那么,MongoDB中是否有清除控制台的功能? 类似于MatLab中的clear。 我已经尝试过clc,clear但是没有成功。

2
仅返回嵌套数组中匹配的子文档元素
主要集合是零售商,其中包含商店数组。每个商店都包含一系列优惠(您可以在此商店中购买)。此提供的数组具有大小的数组。(请参见下面的示例) 现在,我尝试查找所有可用尺寸的报价L。 { "_id" : ObjectId("56f277b1279871c20b8b4567"), "stores" : [ { "_id" : ObjectId("56f277b5279871c20b8b4783"), "offers" : [ { "_id" : ObjectId("56f277b1279871c20b8b4567"), "size": [ "XS", "S", "M" ] }, { "_id" : ObjectId("56f277b1279871c20b8b4567"), "size": [ "S", "L", "XL" ] } ] } } 我已经尝试过以下查询: db.getCollection('retailers').find({'stores.offers.size': 'L'}) 我期望这样的输出: { "_id" : ObjectId("56f277b1279871c20b8b4567"), "stores" …

7
服务器在SASL身份验证步骤上返回错误:身份验证失败
以下是我从GoLang获得的MongoDB连接拨号。但是它返回一个紧急消息“ SASL身份验证步骤服务器返回错误:身份验证失败。 ”。我的用户名,密码,hostAddrs和dbName是正确的。我在这里想念什么? dbName: = os.Getenv("ENV_DBNAME") userName: = os.Getenv("ENV_DBUSER") password: = os.Getenv("ENV_DBPASS") dbHost: = os.Getenv("ENV_DBHOST") mongoDialInfo: = & mgo.DialInfo { Addrs: [] string { dbHost }, Database: dbName, Username: userName, Password: password, Timeout: 60 * time.Second, } sess, err: = mgo.DialWithInfo(mongoDialInfo) if (err != nil) { panic(err) }

24
无法启动mongod.service:找不到单元mongod.service
我按照所有的步骤提MongoDB的安装文件进行Ubuntu 16.04。 步骤1: sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 步骤2: echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list 步骤3: sudo apt-get update 步骤4: sudo apt-get install -y mongodb-org 步骤5: sudo service mongod start 当我启动MongoDB时,出现以下错误: 无法启动mongod.service:找不到单元mongod.service。


1
在MongoDB和Mongoose中执行全文搜索的最佳方法
几天以来,我一直在Google上进行搜索,并且尝试了很多操作,但是仍然无法对用户集合进行良好的全文搜索。 我尝试了ElasticSearch,但几乎无法查询和分页... 我尝试了许多用于Mongoose的插件,例如ElMongo,mongoose-full-text,Mongoosastic等...每个人的文档都非常糟糕,我不知道如何执行良好的全文本搜索。 因此,我的收藏是普通收藏: user = { name: String, email: String, profile: { something: String, somethingElse: String } } 我在一个简单的页面中有一个搜索输入POST,如果输入的hello world话,我需要在整个集合字段中搜索搜索查询的匹配词并获取结果。 还有很多选项可以处理分页,例如每页10个项目等等。 实现此目标的最佳解决方案是什么?我在Mongoose,NodeJS和ExpressJS中使用MongoDB 2.6。*。 谢谢。

3
MongoDB:如何确定数组字段是否包含元素?
我有两个收藏。第一个集合包含学生: { "_id" : ObjectId("51780f796ec4051a536015cf"), "name" : "John" } { "_id" : ObjectId("51780f796ec4051a536015d0"), "name" : "Sam" } { "_id" : ObjectId("51780f796ec4051a536015d1"), "name" : "Chris" } { "_id" : ObjectId("51780f796ec4051a536015d2"), "name" : "Joe" } 第二个集合包含课程: { "_id" : ObjectId("51780fb5c9c41825e3e21fc4"), "name" : "CS 101", "students" : [ ObjectId("51780f796ec4051a536015cf"), ObjectId("51780f796ec4051a536015d0"), ObjectId("51780f796ec4051a536015d2") ] } …
76 mongodb 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.