Articles of mongoskin

结构推荐

我尝试为我的nodejs / express / mongoDB应用程序find一个好的目录结构。 目前,我使用本机mongodb驱动程序,它感觉不错,但速度很快,但是在定义适当的结构时受到限制…当MVC是快速/节点定义合适的db模型的方法并不那么容易。 尽pipemongoose及其图案的概念会使模型的实际devise变得容易,但我并不是那种在我的堆栈之上的另一层的粉丝……它感觉有点臃肿。 我寻找一个替代scheme,发现在本地驱动程序顶部是一个薄包装的mongoskin,但增加了一些function,以支持MVC-ish模式。 总的来说,我发现这对其他人来说也是一个普遍的问题。 我欣赏链接中提出的想法: https : //stackoverflow.com/a/8428281/1055685 不过,模型目录里面的查询并不是真正的MVC(就像评论中提到的那样) – 我不喜欢它… 明确的MVC演示不是那么有用…你在那里find了一些启发吗? 你推荐遵循哪种模式(如果MVC是推荐模型是真正的问题)? 你一般推荐蒙古人吗?

这是安全之间的区别:真正和安全:在与蒙古人的连接错误? 以及如何使用它?

我有一个与mongoskin和nodejs的连接 var db = mongo.db("root:toor@127.0.0.1:27017/cordoba"); 但我不知道这是在这种情况下最好的做法…. db.collection('usuarios').insert(campos,{safe:true}, function(err, result) 我想插入坎波斯在MongoDB,即时通讯使用安全:真…所以发生了什么,如果我使用安全:错误,什么是最好的做法… 这个… var db = mongo.db("root:toor@127.0.0.1:27017/cordoba"); db.collection('usuarios').insert(campos,{safe:true}, function(err, result) 或这个… var db = mongo.db("root:toor@127.0.0.1:27017/cordoba",{safe:true}); db.collection('usuarios').insert(campos, function(err, result) 全部都是

MongoDB上的单个查询或多个查询mongoskin?

这是在MongoDB上 {cod_com:'WWWOAN', cod_prod[{prod:'proda',info:'hola mundo'},{prod:'pacda',info:'hola mundo'},{prod:'prcdb',info:'hola mundo'}] } {cod_com:'WWWOA2', cod_prod[{prod:'prdda',info:'hola mundo'},{ccod:'prcda',info:'hola mundo'}] } {cod_com:'WWWOA1', cod_prod[{prod:'prcda',info:'hola mundo'},{aaad:'prcda',info:'hola mundo'}] } 我必须得到cod_prodvariables中的信息…所以即时通讯工作与两个步骤 首先我查询cod_prod的所有者 db.collection.findOne({cod_com:'WWWOA1'}); 如果存在,我查询我需要的cod_prod db.collection.findOne({'cod_prod.prod':'prcda'}); 所以基本上两次查询,第一是对产品的所有者,第二是即时search产品的信息… 问题是,有什么方法直接search产品? 我不能使用这个… db.collection.findOne({'cod_prod.prod':'prcda'}); 因为不同的业主有同样的产品…所以首先我得到业主,第二我得到的产品…. 任何人有更好的方法? 或不同的方式来获取信息? TNX

我在我的Node.js应用程序中使用MongoSkin,并经过一段时间的不活动,失去了与数据库的连接

我正在构build我的第一个Node.js应用程序,并遇到了与MongoDB有关的问题。 我正在使用MongoSkin驱动程序。 一旦我开始我的应用程序,这一切都很好。 我可以坐着玩一个小时,它会继续工作。 但是,如果我让它坐了几分钟没有任何活动,那么下一个请求将导致错误: 错误:在EventEmitter.emit处closures连接Server.connect.connectionPool.on.server._serverState(X:\ Code \ CodeTunnel \ node_modules \ mongoskin \ node_modules \ mongodb \ lib \ mongodb \ connection \ server.js:520:35) (Event.js:126:20)在EventEmitter的connection.on._self._poolState(X:\ Code \ CodeTunnel \ node_modules \ mongoskin \ node_modules \ mongodb \ lib \ mongodb \ connection \ connection_pool.js:109:15)在Socket.EventEmitter.emit上的Socket.closeHandler(X:\ Code \ CodeTunnel \ node_modules \ mongoskin \ node_modules \ […]

使用asynchronous批量插入在MongoDb中自动增加字段

我正在看这篇关于在MongoDb中自动递增字段的文章。 http://docs.mongodb.org/manual/tutorial/create-an-auto-incrementing-field/ 这在理论上看起来不错,但是在我的应用程序中,所有数据库调用都是asynchronous的。 Ps,我使用Mongoskin。 考虑一下: var getNextSequence function (name) { db.counters.findAndModify({_id: 'invoiceNr'}, {}, {$inc: {seq: 1}}, {new: true}, function(err, doc) { if (err) { return next(err); } return doc.seq; }); }; var seq = getNextSequence('invoiceNr'); console.log(seq); 这(Console.log)执行时当然没有任何价值… 这让我想到了嵌套的callback(经典的Node风格): db.counters.findAndModify({_id: 'invoiceNr'}, {}, {$inc: {seq: 1}}, {new: true}, function(err, doc) { if (err) { return next(err); } […]

Mongo发现一个访问属性的问题

好吧,也许我没有看到它,但这个查询看起来很好: db.bind('links'); db.links.findOne({ short_id: req.params.id }, function(err, link) { console.log(link["post_id"]); // I also tried console.log(link.post_id) res.jsonp(link); }); 但是错误说:“TypeError:无法读取null的属性'post_id'”。 然后我试图删除console.log,我得到了浏览器上的输出,所以链接不是null它有一定的价值,但为什么它是trowing和错误访问它的属性,任何想法?

MongoSkin错误的插入

我有一个与以下结构的国家arrays: { "code": "ZW", "name": "Zimbabwe", "zipPattern": "[\\s\\S]*", "states": [ { "name": "Bulawayo" }, { "name": "Harare" }, { "name": "Manicaland" }, { "name": "Mashonaland Central" }, { "name": "Mashonaland East" }, { "name": "Mashonaland West" }, { "name": "Masvingo" }, { "name": "Matabeleland North" }, { "name": "Matabeleland South" }, { "name": "Midlands" } […]

NodeJs的MongoDB嵌套查询 – 同步运行callback

我有一个像下面的代码块。 我无法find如何实现这一目标。 – 我有mongodb中的房间集合,此集合中的文档包括用户标识数组。 每个房间可以有多个用户。 – 所以我想find包含我的用户ID的房间里的用户名。 数据库集合: 客房{roomId:1,用户:[99,100]},{roomId:2,用户:[99,101]} 用户{_id:99,name:“Alex”},{_ id:100,name:“Harry”},{_ id:101,name:“Tom”} var userId = 99; var arrUserIds = []; var arrRooms = []; var strUserNames = ""; db.collection("rooms").find({"users.userId":userId}).toArray(function(err, rooms) { for (var i=0; i<rooms.length; i++) { arrUserIds = []; for(var j=0; j<rooms[i].users.length; j++){ arrUserIds.push(new BSON.ObjectID(rooms[i].users[j].userId)); } db.collection('users').find({"_id": {$in: arrUserIds}}).toArray(function(err, users) { strUserNames = users.map(function(elem){return […]

插入一个JSONvariables

我的代码如下: req.on('data', function(chunk) { console.log(JSON.stringify(chunk.toString('utf8'))); db.collection('collectionname').insert(chunk.toString('utf8'), function(err, result) { if (err) throw err; if (result) console.log("Added!"); }); }); console.log以JSON格式打印正确的消息,但是这个代码不能在MongoDB中插入块。 所以我的问题是如何在MongoDB中插入JSONvariables。 提前致谢。

如何将Node Js,Express和MongoDB应用程序部署到Windows Server 2012 R2

我已经使用Express,Node.JS和mongo db创build了一个应用程序。我想将它部署在我的Windows Server 2012 R2上。请让我知道这个过程。