Tag: mongodb

Node.js / Mongoose上的“VersionError:没有find匹配的文档”错误

我对Node.js和Mongo / Mongoose比较陌生,在解决特定的Mongoose错误时遇到了一些困难: VersionError:未find匹配的文档。 (整个错误跟踪/堆栈在这个问题的底部。) 这个博客文章非常清楚地概述了一个VersionError可能发生的情况: http://aaronheckmann.blogspot.com/2012/06/mongoose-v3-part-1-versioning.html (TL; DR – “Mongoose v3现在为每个文档添加了一个模式可configuration的版本密钥,只要对数组的修改可能改变任何数组元素的位置,该值就会自动递增。”如果试图保存文档,键不再匹配你检索到的对象,你会得到上面的VersionError 。) 核心问题:有没有办法显示有问题的save()操作? 或者哪个文件没有保存? 还是什么呢 ?! ;) 挑战:这是一个相对较大的有许多arrays的代码库,我不确定如何开始解决这个问题。 特别是,错误跟踪/堆栈似乎并不显示问题存在的地方。 见下文: VersionError: No matching document found. at handleSave (<project_path>/node_modules/mongoose/lib/model.js:121:23) at exports.tick (<project_path>/node_modules/mongoose/lib/utils.js:408:16) at null.<anonymous> (<project_path>/node_modules/mongoose/node_modules/mongodb/lib/mongodb/collection.js:484:9) at g (events.js:192:14) at EventEmitter.emit (events.js:126:20) at Server.Base._callHandler (<project_path>/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/base.js:391:25) at Server.connect.connectionPool.on.server._serverState (<project_path>/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/server.js:558:20) at MongoReply.parseBody (<project_path>/node_modules/mongoose/node_modules/mongodb/lib/mongodb/responses/mongo_reply.js:131:5) at Server.connect.connectionPool.on.server._serverState (<project_path>/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/server.js:517:22) at EventEmitter.emit […]

一个db的Mongorestore给我带来麻烦

我是MongoDB的新手,我很难备份我的本地数据库,并在我的服务器上恢复。 我在Mongo的网站上find了链接: http : //www.mongodb.org/display/DOCS/Import+Export+Tools,但是我仍然遇到了还原问题。 当我做我的备份,我打电话 mongodump –db Gen 然后我看到所有的集合都转储到/bin/dump/Gen文件夹中 我复制粘贴从本地到服务器在同一个文件夹中的调用 mongorestore –db Gen –drop –dbpath dump/Gen 但是我得到以下Error : root directory must be a dump of a single database when specifying a db name with –db : Error : root directory must be a dump of a single database when specifying a db name with […]

Mongoid 3 + Heroku(MongoHQ)导致Moped :: Errors :: OperationFailure

使用Rails 3,从Mongoid 2.x升级到Mongoid 3.x后,我的Heroku + MongoHQ设置停止工作。 有趣的是,我的开发和testing框架,以及我的整个testing套件都很好。 我怀疑问题是与我的mongoid.yml文件,但我已经尝试search文档,谷歌和stackoverflow,并使用所有build议的格式,包括: heroku mongohq和mongoid Mongo :: ConnectionFailure或实际上这个: https:/ /gist.github.com/2900804 更新7月16日:这是我的mongoid.yml文件看起来,尝试了多个东西后+ 从MongoHQ的Jasonbuild议 : development: sessions: default: database: development hosts: – localhost:27017 test: sessions: default: database: test hosts: – localhost:27017 production: sessions: default: uri: <%= ENV['MONGOHQ_URL'] %> options: skip_version_check: true safe: true (据我的理解,它基本上和上面的链接一样,只是它使用了uri;我尝试了另一种方式,把MONGOHQ_URL分成了单独的字段,但是没有帮助) 我试着将mongoid设置为3.0.0rc,并将版本留在我的Gemfile中。 使用github版本由于HTTPS证书或其他原因而失败,所以我没有多次尝试它。 动作控制器说的是这样的: Moped::Errors::OperationFailure in Home#index Showing /app/app/views/home/index.html.haml […]

将目录层次结构存储在键值数据存储区中

什么是干净/有效的方法来存储目录层次结构/树在键值数据库(在我的情况下,MongoDB,但其中任何)? 例如一个树形结构 – Cars + Audi + BMW – M5 + Ford – Color + Red – Apple – Cherry + Purple – Funny 我现在使用的方法,每个对象链接到它的父 { dir: "red" parent-dir: "color" } 这使得插入和重新排列树的任何一个方面(例如,如果我想将Red和所有它的子节点移动到Cars目录)非常有效/快速。 但是,当我想让recursion的给定目录的所有子目录和他们的子目录时,这个方法很糟糕。 为了使其高效parsing,我可以有一个结构,例如 { dir: "red" children: "audi, bmw, ford" } { dir: "bmw" children: "m5" } 但是如果我想修改树,需要触摸和修改一大堆对象。 有什么其他的方法来存储在KV商店的目录结构?

Django会话

我正在查看Django中的会话,默认情况下它们存储在数据库中。 文件系统和caching会话有什么好处,我应该什么时候使用它们?

如何获得MongoDB的callbackcollection.find()

当我在MongoDB / Node / Express中运行collection.find()时,我想在完成时得到一个callback。 这是什么正确的语法? function (id,callback) { var o_id = new BSON.ObjectID(id); db.open(function(err,db){ db.collection('users',function(err,collection){ collection.find({'_id':o_id},function(err,results){ //What's the correct callback synatax here? db.close(); callback(results); }) //find }) //collection }); //open }

PyMongo的集合对象是不可调用的错误

遵循PyMongo 教程 ,在集合上调用insert_one方法时出现错误。 In [1]: import pymongo In [2]: from pymongo import MongoClient In [3]: client = MongoClient() In [4]: db = client.new_db In [5]: db Out[5]: Database(MongoClient('localhost', 27017), u'new_db') In [6]: posts = db.posts In [7]: posts.insert_one({'a':1}) ————————————————————————— TypeError Traceback (most recent call last) <ipython-input-7-2271c01f9a85> in <module>() —-> 1 posts.insert_one({'a':1}) C:\Anaconda\lib\site-packages\pymongo-2.8-py2.7-win32.egg\pymongo\collection.py in __call__(self, *a […]

sudo service mongodb restart在ubuntu 14.0.4中给出了“无法识别的服务错误”

我刚在Ubuntu 14.0.4上安装了mongoDB。 我试图启动壳,但我得到一个连接拒绝错误。 me@medev:/etc/init.d$ mongo MongoDB shell version: 2.6.5 connecting to: test 2014-11-10T15:06:28.084-0500 warning: Failed to connect to 127.0.0.1:27017, reason: errno:111 Connection refused 2014-11-10T15:06:28.085-0500 Error: couldn't connect to server 127.0.0.1:27017 (127.0.0.1), connection attempt failed at src/mongo/shell/mongo.js:146 exception: connect failed 所以我决定尝试重新启动服务,但这也失败了。 我收到以下错误信息: me@medev:/etc/init.d$ sudo service mongodb restart mongodb: unrecognized service me@medev:/etc/init.d$ 这是我在我的/var/log/mongodb/mongod.log – http://pastebin.com/MrHt8tce 到目前为止我已经尝试过了: 我在这里find了另一个post: […]

MongoDb:$ push / $ addtoset之间的区别

我读了MongoDb中的文档,我用一个简单的certificate,我只看:Push是sorting数组,但addtoSet不是它。 对我来说,视觉上是一样的,我不知道区别。 有谁能解释我的区别? 另一个想法,如果它可能是西class牙语或简单的英语,我会赞成它。

从Mongo获取BinData UUID作为string

我目前有一些在Mongo中存储的ID作为UUID(处理所必需的)。 他们得到这样的回报: "_id" : new BinData(3, "JliB6gIMRuSphAD2KmhzgQ==") 将这个值转换成string进行debugging的简单方法是什么? 只是要清楚 – 应用程序可以处理的数据罚款。 我只需要一种方法来快速从Mongo获取实际的UUID。