草庐IT

Mongoose-auth

全部标签

node.js - 如何在 forEach 循环中运行 Mongoose 查询

谁能帮助我如何在nodejs的forEach循环中运行Mongoose查询并建议两个集合的内部连接结果需要喜欢下面的细节userSchema.find({},function(err,users){if(err)throwerr;users.forEach(function(u,i){varusers=[];jobSchema.find({u_sno:s.u.sno},function(err,j){if(err)throwerr;if(!u){res.end(JSON.stringify({status:'failed:Auctionnotfound.',error_code:'40

node.js - 如何使用mongoose动态连接多个mongodb数据库?

在我的项目中有很多数据库,一个是masterDb,其他都是基于masterDb的数据库连接。例如,在验证页面中,用户可以输入“公司id”,这个“公司id”可以通过masterDb进行检查,如果存在id,则返回特定公司的数据库名称。使用我想连接到特定公司数据库的数据库名称。现在我可以成功登录并获得数据库名称。使用这个数据库名称(req.headers['x-key-db'])我可以连接到特定的数据库。但在这里我将数据库连接代码放在每个api调用中。有没有其他方法可以创建一次并在每个api调用中动态使用它。app.get('/api/student-limited/:_pageNumber

node.js - 无法使用 mongoose 在 mongodb 中持久化对象数组

我正在尝试使用mongoose在文档中保留一组对象。我已经尝试了多次,但它没有在文档中持久化数组。它在文档中放置一个空数组。以下是我的架构:varProfileSchema=newSchema({name:String,PagesData:[{pageAccessToken:{type:String,get:decryptText,set:encryptText},category:String,name:String,id:String,perms:[String]}]});module.exports=mongoose.model('Profile',ProfileSchema);

node.js - nodejs mongoose 批量更新

我有一个文档集合,我需要为所有文档添加一个新字段。如果我运行查询以获取所有文档,然后更新每一个node.js停止,可能是因为内存泄漏这是我的代码varexpress=require('express');vargeocoderProvider='google';varhttpAdapter='http';varPeople=require("./models/people").collection.initializeOrderedBulkOp();varapp=express();vargeocoder=require('node-geocoder').getGeocoder(geo

node.js - Mongoose 不会将数据保存到 MongoDB

下面是我试图保存到MongoDB的对象文字。它在作为Express服务器的app.js文件中定义。由于该对象是在服务器中硬编码的,我的假设是每次我运行服务器时都会将一个新副本保存到数据库中,或者至少该文档将保存一次,并在检测到该文件时被覆盖或保持不变新文档与上次服务器运行时保存的文档相同。令我惊讶的是,不仅没有在MongoDB中创建副本,而且根本没有保存文档。但是,已经创建了“新闻”集合,并通过mongoshell的“显示集合”进行了验证。此外,我在回调函数中没有收到任何错误。我还在我的Express'/news'路由中尝试了Model.create(doc,fn),但这也不起作用(每

javascript - Mongoose .js : How to Implement Tree Structure via Population

我正在使用Mongoose3.x实现一个树结构(类似于Mongo文档中的这个),但我不确定封装所有逻辑以加载特定节点及其兄弟节点的最佳方式和祖先一般,特别是如何最好地使用ref与ref-er位于同一集合中的人口功能。在某些情况下,我正在使用的树是未编辑节点但可能随时将新子节点添加到任何节点的树。到目前为止,我已经使用一组模型方法正常工作,这些方法在初始查找后加载对象,但似乎应该有更好的方法来轻松加载单个分支,其中包含我需要的所有父级和兄弟级数据Controller中的命令,并将所有相关人口封装在模型上的一些方便的查找方法中。然后,我尝试使用的基本架构可能是这样的(也可在此处获得:htt

node.js - NodeJS、Express 和 Mongoose : Calls are intermittantly slow

我有一个非常简单的nodeJS应用程序。由于某种原因,服务器的响应时间差异很大。这是我的app.js:varexpress=require('express');varhttp=require('http');varpath=require('path');varModels=require('./schema/schema.js');varapp=express();//allenvironmentsapp.set('port',process.env.PORT||3000);app.set('views',path.join(__dirname,'views'));app.set(

javascript - Mongoose Reconnect 事件在一段时间后没有被触发

Mongoose'reconnected'事件在'close'事件第二次被触发后不会触发。如何增加始终重试的时间?close:在我们断开连接并在所有这些连接模型上执行onClose(之后,如果我启动Mongo,它不会触发任何事件)后发出。 最佳答案 我终于找到了答案,我们需要像这样使用mongodb-native驱动选项的服务器选项。varopts={server:{auto_reconnect:true,reconnectInterval:5000,reconnectTries:Infinity,socketOptions:{ke

node.js - 如果提供了字符串,Mongoose bool 验证没有用

为了更容易验证我的输入,我试图确保只有在特定字段设置为true时才能创建mongoose-document(此字段当然始终为true,如果该文档实际上是正确创建的,这是出于报告原因)。这是一个简化的poc:varmongoose=require('mongoose')mongoose.connect('mongodb://localhost:27017/playground')varSchema=mongoose.SchemavarTestSchema=newSchema({testField:{type:Boolean,required:true}})//Trytoensure,th

javascript - Mongoose 查找并创建多维数组

我正在尝试获取用户ID,以及包含位置中特定位置的数组对象。我想要完成的是:查询将返回数组位置的结果。如果根本不存在userid,则创建它,然后返回匹配位置的数组。如果位置ID号不存在。创建一个新的,然后返回匹配位置的数组。我怎样才能做到这一点?当前查询:easyCrime.findOne({userid:userid,"locations.location":location},{"locations.$.location":1}).then(function(err,stats){}});型号:userid:{type:String,default:'57c1c0f3b6b20c01