Tag: mongojs

Nodejs – 从MongoDB中检查空对象并parsing它

我试图从NodeJS(使用ExpressJS)和MongoDB实现一个简单的login机制。 我使用MongoJS的数据库连接。 我正在使用$and:来查看集合内的字段是否匹配。 function authenticate(req,res){ username = req.body.username; password = req.body.password; db.users.find({$and :[{username:username},{password:password}]},function(err,doc){ if(( Object.keys(doc).length === 0 && doc.constructor === Object) === false){ res.send("Invalid login") } else { doc.forEach(function(doc){ console.log(doc.firstname) }) } }) } 我检查如果文档contanis空对象(这意味着用户名和密码不匹配),并告诉页面显示login无效。 如果文档确实包含匹配的用户名和密码,则使用console.log()命名用户的名字。 上面的代码不工作…我做错了什么? 提前致谢…

Node.js + mongoDB,mongojs $ in运算符错误

我正在用mongojs作为驱动程序运行mongoDB的node.js。 我有以下问题, 我尝试使用_id数组查询业务集合,如果我试图dynamic构build查询,如下所示,我得到长度为0的数组,这是错误的。 myFavoriteBusinessArray.forEach(function (iValue, j) { var temp = 'mongojs.ObjectId("' + iValue + '")'; objectIdArray.push(temp); }); var queryObject = { _id: { $in: objectIdArray } }; db1.db.business.find(queryObject, function (err, business) { if (err) res.json(err); res.json(business); }); } else { res.json({"login": "failed"}); } 如果我尝试以下,然后我得到正确的数组3回来。 db1.db.business.find({_id: { $in: [ mongojs.ObjectId("534fabb10648cd1c1b000002"), mongojs.ObjectId("52d664c15186ad103c000001"), mongojs.ObjectId("534ee1b4b51682bc30000002") ] }}, function (err, […]

如何通过mongojs模块从nodejs查询mongodb? (服务器是openshift)

我在openshift上试用mongodb和nodejs,使用mongojs来连接nodej和mongodb。 在mongoshell中,我运行“使用nodejs”并定义了一个“scores”集合。 我保存了一些数据并正确显示。 在nodeserver的app.js文件中有 self.routes['/db'] = function(req, res) { var db = require("./db"); db.scores.find(function(err,docs){res.send(docs);}); }; 并在我有db.js文件 var dbName = "/nodejs"; var databaseUrl = process.env.OPENSHIFT_MONGODB_DB_USERNAME + ":" + process.env.OPENSHIFT_MONGODB_DB_PASSWORD + "@" + process.env.OPENSHIFT_MONGODB_DB_HOST + ":" + process.env.OPENSHIFT_MONGODB_DB_PORT+ dbName; // "username:password@example.com/mydb" var collections = ["scores"] var db = require("mongojs").connect(databaseUrl, collections); module.exports = db; 当我访问urlmydomain.com/db时,我无法获取任何数据 有人可以指出什么是做错了。 数据库正在连接。 我无法从分数集合中find全部。 […]

是否有可能创build连接到多个远程MongoDB数据库?

使用mongojs或任何其他nodejs库,是否可以创build连接到多个远程MongoDB数据库(不复制dbs)? 我需要做的是获取远程数据库A中的一个集合中的一些数据,然后处理它,然后更新远程数据库B中一个集合中的一些其他文档。

Mongojs:在openshift中错误的ELF类:ELFCLASS32 nodejs应用程序

我有一个本地运行良好的nodejs(expressjs)应用程序,但是当我将它部署到Openshift时,我收到一个exception,当我检查日志文件时,它包含此行在server.js中有以下错误。 var mongojs = require("mongojs"); DEBUG: Sending SIGTERM to child… DEBUG: Running node-supervisor with DEBUG: program 'server.js' DEBUG: –watch '/var/lib/openshift/5522627bfcf9336fbc00016a/app-root/data/.nodewatch' DEBUG: –ignore 'undefined' DEBUG: –extensions 'node|js|coffee' DEBUG: –exec 'node' DEBUG: Starting child process with 'node server.js' DEBUG: Watching directory '/var/lib/openshift/5522627bfcf9336fbc00016a/app-root/data/.nodewatch' for changes. [Error: /var/lib/openshift/5522627bfcf9336fbc00016a/app-root/runtime/repo/node_modules/mongojs/node_modules/mongodb/node_modules/bson/build/Release/bson.node: wrong ELF class: ELFCLASS32] js-bson: Failed to load c++ bson extension, […]

如何从MongoJS查询输出中select值

我有MongoJS查询调用: db.users.find({username:"eleeist"},function(err, docs) { console.log(docs); }); docsvariables在控制台输出中看起来像这样: [ { _id: 4fee05662b17f88abbeb60b6, username: 'eleeist', password: 'test' } ] 我想显示用户eleeist的密码。 我试过docs.password但得到可怕的错误。 那么如何从返回的查询结果中select值呢?

如何通过mongojs知道mongodb的版本

dburl = "mongodb://127.0.0.1:27017/demo"; db = require('mongojs').connect(dburl); console.log(db.version); 我想知道使用mongojs的mongodb版本。

MongoDB和MongoJS – 无法使runCommand用于文本查询

我的目标是使用Node中的MongoDB(2.4.4)文本命令。 它从命令行工作正常。 基于以前的SO问题: 相当于Node.js中的mongo shell db.collection.runCommand() ,我尝试使用MongoJS(0.7.17),但无法完成。 这里是代码: mongojs = require('mongojs'); var products = mongojs('localhost:27017/mydb').collection('products'); products.runCommand('text', {search: 'a'}, function (err, docs) { … }); docs返回undefined,err为null。 我可以执行一个普通的函数,如products.find()罚款…我可以在MongoDB命令行上执行search。 任何人都知道如何做到这一点? 顺便说一下,这里是callback中包含的文档: { "queryDebugString": "||||||", "language": "english", "results": [], "stats": { "nscanned": 0, "nscannedObjects": 0, "n": 0, "nfound": 0, "timeMicros": 55 }, "ok": 1 } 顺便说一句,如果还有另一种方法使这个工作只与正常的本地驱动程序,我没事的。

Node.js(express,mongodb)注册过程

你好,Stackoverflow社区,我是新的Node.js /快递,我需要你的帮助,因为我卡住了一些问题。 我试图做一个注册过程中,后input保存到一个mongodb。 之前我想validation,如果用户的电子邮件地址已经存在于数据库中。 如果我尝试在db.users.find()语句中定义一个var应用程序将无法正常工作。 app.post("/sign-up", function(req, res){ var validate; db.users.find({email : req.body.email}, function(err, users) { if( err || !users){ validate = true; }else{ validate = false; } }); console.log(validate); if(validate == true){ db.users.save({ title: req.body.title, firstname: req.body.firstname, surname: req.body.surname, country : req.body.country, email: req.body.email, password: bcrypt.hashSync(req.body.password, 10) }, function(err, saved) { if( err || […]

在NodeJs中将对象从一个集合移动到另一个集合的最佳方式

如何将对象从一个集合移动到另一个集合? 什么是最简单和最安全的方法来做到这一点? 我正在尝试: app.post('/doneList/:id',function(req, res){ var id = mongojs.ObjectId(req.params.id); var oneTodo; db.todoList.findOne({_id: id},function(err,docs){ db.doneList.insert(docs,function(err,doc){ res.json(doc); }); }); db.todoList.remove({_id: id}); }); 但是当我尝试它时会崩溃。