Articles of mongodb

Express / Mongoose使用对象函数作为callback不起作用

我想在快速路由中从我的对象调用函数。 这个函数应该调用mongoose查询,然后运行下一个等等 – 所有需要的操作。 这是我的示例路线: var MailSender = require('../../libs/mailer'); router.get('/mailer/test', function (req, res, next) { MailSender.getPending(); }); 和邮件文件: (here include all required) module.exports = { currentMails : {}, getPending : function() { MailObj.find() .limit(10) .exec(this.blockPending); }, blockPending : function(err, mail) { currentMails = {}; mail.forEach(function(data) { let mailId = mongoose.Types.ObjectId(data._id); currentMails[mailId] = data; }); MailObj.update({ […]

如何处理Node.js应用程序中的mongoose错误

我正在用express和mongoDb和mongoose开发一个node.js应用程序。 该应用程序将用户保存在下面的代码中,没有问题,但是在这个代码中,即使进程成功,用户仍然保存,它总是会出现控制台错误。 我试图做闪光消息和validation,但我不能继续这个问题。 另外,我不确定是否使用了正确的post方法(我应该使用res.status(500).send('error'))吗? newUser.save().then(function (error) { if (error) { console.log('error') // always prints this } else { console.log('success') } }) 完整的代码 var User = require('../models/User') var router = require('express').Router() router.route('/user/signup') .get(function (request, response) { // render the form response.render('user/signup') }) .post(function (request, response) { var username = request.body.name var password = request.body.password var newUser […]

如何在NodeJS中给予For循环承诺

如何停止nodeJS执行循环写入的语句,直到for循环完成? for(i=0;i<=countFromRequest;i++) { REQUEST TO MODEL => then getting result here (its an object) licensesArray.push(obj.key); } res.status(200).send({info:"Done Releasing Bulk Licenses!!!",licensesArray:licensesArray}) 问题是For循环之后的语句在For循环之前执行,所以当我收到API数据时licensesArray是空的。 任何线索如何做到这一点? 将感谢你。

制作Node.js服务器的独立解决scheme

Node.js似乎是为我的Android应用程序创buildAPI的完美解决scheme。 我希望将其托pipe在我自己的networking域上,而不使用Heroku,Firebase,AWS等任何商业解决scheme。 在本地主机上运行服务器似乎很简单,但find一个解决scheme,我可以如何托pipe它在我自己的服务器上是一个问题。 当您购买自己的域名时,如果您想要使用MongoDB数据库托pipeNode.js应用程序,还需要处理大量存储的媒体,那么您应该在支持的技术方面寻找什么? 有没有其他方法可以不使用云解决scheme,而是创build自己的后端解决scheme,以便完全控制托pipe内容,安装的内容以及工作原理。

多组使用mongoose

我想要得到每个公司所有事件的总和。 这是我的数据: {company: "1" event:"a"} {company: "1" event:"b"} {company: "1" event:"c"} {company: "2" event:"b"} {company: "2" event:"b"} {company: "3" event:"c"} {company: "3" event:"c"} 我现在有这个聚合date的事件,但我正在努力进一步按公司分组: { "aggregate": [ { "$group": { "_id": "$event", "count": {"$sum": 1} } }, {"$sort": {"_id": 1}} ] } 呈现这些结果的是: [{“_id”:“a”,“count”:1},{“_id”:“b”,“count”:3},{“_id”:“c”,“count”:2}] 我怎样才能进一步按公司分组事件计数: [{ "_id": { "company" :"1", "events": [ { "event": "a", […]

从(node – express – mongodb)获取db结果到angular4

B / Wbuild立连接b / w nodejs&angular没有问题。 数据库结果也很好。 这是我现在面临的唯一问题。 我有2个不同的端口,但相同的服务器 0.0.0.0:3000 – 用于nodejs 0.0.0.0:4200 – 为angular 当我从angular度对节点(mongodb)进行api请求时,在浏览器控制台以及networking选项卡中可以看到它。 我怎么能过来呢?

mongoose发现不匹配来自数组传递的id

我卡在mongoose的查询。 我有一个ID数组作为input,我想在数据库中search匹配元素的ID数组。 它在使用$in in find查询后返回完美的结果。 现在,我想从数组中找不到数据库中的Id。 什么是最好的办法呢? 请尝试发表评论。 Template.find({ _ids : [ "as6d87as67da7s8d87a87", // available in database "as6dasd8sa9d8a9a9s8d7", // not-available in database "6756asd5as6dsadghasd3", // available in database ] }, function(err, result){ // Need result as "as6dasd8sa9d8a9a9s8d7", which is not matched. or in object. // Can we do with `aggregate` query? });

Node.js框架在MongoDB中支持会话

我正在寻找一个node.js框架,它能够通过服务器端的cookie /存储跟踪用户会话。 存储必须在MongoDB中

节点JS MongoDb查询中的点符号

处理嵌套文档时是否可以使用点符号? http://www.mongodb.org/display/DOCS/Dot+Notation+(Reaching+into+Objects ) 我试图查询一个地图/减less的结果,因此需要像这样运行一个查询: find({'_id.page' : 'ThisPage', '_id.user' : 'AUser'}) 在Node代码中试用这个方法将不会返回任何行,但是相同的查询在mongodb shell中按预期工作。

节点mongodb本地保持收集?

现在我正在打开每个请求的集合: 即: app.get('/route', function (req, res) { db.collection('user', function (err, collection) { collection.find(blah) // do something app.get('/route2', function (req, res) { db.collection('user', function (err, collection) { collection.find(foo) // do something app.get('/route3', function (req, res) { db.collection('user', function (err, collection) { collection.find(bar) // do something 这是不正确的? 我想我应该把'用户'集合保存到一个variables,并没有得到它的每一个请求。 谢谢。