草庐IT

mongoose-im

全部标签

node.js - 当数据库再次可访问时,Mongoose 连接不会恢复

问题是Mongoose在以下情况下失去连接​​:NodeApp已启动,一切正常(可访问数据库等)本地运行的Mongo服务器进程(版本2.6.10)停止,然后在15秒后启动,一切似乎都很好(可访问数据库等)Mongo进程已停止。已发出对Express的请求,试图转到数据库(使用Mongoose)——如预期的那样无法访问。Mongo进程启动。发出相同的请求,即使Mongo已启动,也无法访问数据库。如果我重新启动NodeJS应用程序,一切正常。为什么对Mongo的失败查询(使用Mongoose版本4.4.5)会阻止在数据库进程再次启动时恢复连接?我们是否应该实现重试机制来尝试恢复连接,直到数

node.js - 如何通过 mongoose 虚拟字段查询找到 MongoDB 文档?

如何通过使用mongoose的“findOne”/“find”功能找到特定文档,其中的结果是通过虚拟字段过滤的,该字段实际上并未出现在数据库中?我会尝试进一步解释:在我的“用户”模型中,我有一个名为“电子邮件”的字段。我想为我的nodejs应用程序中的其他功能(主要是登录验证和其他内容)为“电子邮件”创建一个别名作为“用户key”。为了创建别名,我这样做了:userSchema.virtual('userkey').get(function(){returnthis.email;});现在,在创建别名后,我想按以下方式过滤我的搜索结果:restApi.post('/login',fun

node.js - Mongoose ,在模式(枚举)中定义一个 OR 引用?

thread=newmongoose.Schema({post:{type:Schema.Types.ObjectId,ref:'Post'},comment:{type:Schema.Types.ObjectId,ref:'Comment'},})但实际上,thread只能有post或comment,不能同时有。所以理想的定义应该是枚举之类的东西thread=newmongoose.Schema({data:{type:Schema.Types.ObjectId,ref:'Post'}OR??{type:Schema.Types.ObjectId,ref:'Comment'},})如

javascript - 防止 Mongoose 中的重复记录

我是MongoDb/Mongoose的新手,更习惯使用SQLServer或Oracle。我有一个相当简单的事件架构。EventSchema.add({pkey:{type:String,unique:true},device:{type:String,required:true},name:{type:String,required:true},owner:{type:String,required:true},description:{type:String,required:true},});我在看MongooseIndexes这显示了两种实现方式,我使用了字段定义。我还有一个非常

javascript - Mongoose :查找与输入相似的名称

我有一个正在处理的自动完成输入框,我正在尝试制作一个mongoose端点,它将根据输入的数据为我获取用户对象。数据可能不完整,但它仍然应该得到相似的所有内容。例如:varinput="st";//Shouldreturnauserobjectlikethisone.varuserObject={name:{full:'StephenBrinkworth',first:'Stephen',last:'Brinkworth'}};我已经调查了这个问题,据我所见,推荐的端点如下所示。User.find({name:{full:newRegExp(req.query.input,'i')}})

javascript - 为什么 mongoose.connect() 在不作为 mongoose 对象的方法存在时工作得很好?

给定以下代码:varmongoose=require("mongoose");console.log(mongoose);mongoose.connect("mydatabaseurlhere")如何一切正常-但mongoose对象没有附加任何connect()方法?这是console.log打印:Mongoose{connections:[NativeConnection{base:[Circular],collections:{},models:{},config:[Object],replica:false,hosts:null,host:null,port:null,user:

node.js - 将 Mongoose 模型包含到包含在 node.js 文件中的单个 js 中?

我正在使用mongomongoose创建Node应用程序。我有模型单独的文件,其中创建了所有数据模块,我想将所有数据模型配置到一个js文件中,我们必须将其包含在node.js文件中(server.js)这里我有user.jsvarmongoose=require('mongoose');varSchema=mongoose.Schema;module.exports=function(){varusers=newSchema({name:String,body:String,date:Date});mongoose.model("users",users);};books.jsvarm

javascript - Mongo/Mongoose快速更新导致数据丢失

我是mongo/mongoose的新手,在更新集合时发现了一个错误。我有这个nodejs代码:User.findByIdAndUpdate({_id:id},{$set:params}).select('-password').exec(function(error,user){returnres.json({user:user});});上面的代码在定期更新时完美运行-但是当我向它发送垃圾邮件并发送大量请求时,最后返回的用户数据与我之后获取的用户数据不匹配:User.findOne(...)我如何确保这种情况不会发生,并且从更新返回的数据和从User.findOne(...)获取的数

javascript - 如何缩短 MongoDB ObjectId 并在 Mongoose 模式中使用它

我正在寻找一种方法来缩短MongoDB数据库生成的ObjectID,并且我知道一些现有的库,例如'shortid''short-mongo-id'但是,我的问题是我希望在mongoose模式中为集合中存在的每个文档创建一个新的“shortID”字段,并且这个新字段应该是唯一的,理想情况下是附加到文档。像这样:varsubjectSchema=newSchema({shortID:{required:true,unique:true},//mustbeuniquetoeachdocumentandissameeverytimeserverrestartsSex:{type:String,

node.js - Mongoose 切片数组,在填充字段中

我有以下mongoose模式:主要的是userSchema,它包含了一组friend,friend架构。每个friendSchema都是一个包含messageSchema数组的对象。messageSchema是最深的对象,包含消息的主体。varmessageSchema=newmongoose.Schema({...body:String});varconversationsSchema=newmongoose.Schema({...messages:[messageSchema]});varfriendSchema=newmongoose.Schema({user:{type:mon