草庐IT

mongoose-dbref

全部标签

javascript - “存储” Mongoose 模式/模型(不是文档)以供将来使用

问题:我正在制作一个Web服务,允许开发人员“注册”他们的Mongoose模式-他们将在浏览器中创建JSON模式,然后将其通过AJAX发送到我的服务器.所以我将使用提交的模式创建一个新的Mongoose模型,但现在我需要这个模式存在,即使我重新启动服务器也是如此。我有这样的代码:/*schemaObjiswhatyoucreateaschemawith,forexample{name:String,id:Number}*/registerSchema=function(model_name,schemaObj){desiredSchema=newSchema(schemaObj);de

javascript - Mongoose 连接数据库时出错

我在通过mongoose连接到数据库时遇到问题。当我使用这段代码时varmongoose=require('mongoose').Mongoose;vardb=mongoose.connect('mongodb://localhost/goaljuice');然后我遇到了问题。这是我的问题TypeError:ObjectfunctionMongoose(){this.connections=[];this.plugins=[];this.models={};this.modelSchemas={};this.options={};this.createConnection();//de

json - MongoDB 更改 DBrefs

有没有办法更改MongoDB集合引用?对于变化,我指的是引用中的值。我不能只创建直接链接,因为数据库正在使用中。我的结构看起来像这样{"_id":ObjectId("4e7c6b47e4b0dea06288ad21"),"license":"ABC123","model":"911","make":"Porsche","owner":{"$ref":"users","$id":"TestUser"}}我想改ID像{"$ref":"users","$id":"NEWUSER"} 最佳答案 当然可以,但不能直接使用$set:>db.te

mongodb - 在 Mongoose 中验证其父级范围内的嵌入式文档的唯一性

我在Mongoose中有以下模式:UserSchema=newSchemausername:{type:String,required:true}GameSchema=newSchemaidentifier:Stringusers:[UserSchema]我想确保游戏中的每个用户都有唯一的用户名。但是,如果我添加unique:true对于用户名定义,它似乎在所有游戏中强制执行唯一性,而不仅仅是在用户所在的游戏中。此外,如果我有超过1个没有用户的游戏,则会出现以下错误:games.$users.username_1dupkey:{:null}我尝试向用户名字段添加自定义验证器以手动检查该

node.js - mongoose:缩短存储 node.js 模型的属性名称

在C#中,可以使用MongoDB驱动程序为数据模型中的每个属性定义自定义的BS​​ONElement名称,以缩短其存储的名称,例如[BsonElement("n")]publicStringName{get;set;}有没有办法在定义为node.js的模型中使用mongoose实现此目的varProject=newSchema({id:ObjectId,name:String,});mongoose.model("Project",Project);以便属性“name”将存储为“n”并在代码中作为“name”引用?研究docs在这一个上效果不是很好。谢谢!

javascript - 在 Mongoose 之上创建一个额外的数据访问层

对于我的node.js应用程序,我使用mongodb作为数据库。此外,我更喜欢在其之上使用mongoose.js。我的问题是,isitjustifiabletobuildanadditionallayerontopofmongoose.jssoastoaccessthedata?.LikeforCRUDoperations?就像一个通用的函数集,它做的正是mongoose所做的,并限制编码人员直接编写mongoose查询,并且可能在我们更改数据库或Mongoose。我问这个是因为我看不出这在后期会有多大效果,但现在看起来很烦人。请提出建议。 最佳答案

node.js - 是否有可能在 Mongoose 中有一系列可选的子文档模式

是否可以在mongoose中使用一组替代子文档架构?例如,以这个虚构的场景为例:如果我有一个人的主模式,并且我有一个名为vehiclesoftypearray的字段,我希望能够定义子文档模式,但是对于每种车辆类型(car,摩托车,自行车,公共(public)汽车等):varcar=newmongoose.Schema({make:{type:String,required:true,default:'Ford',trim:true},model:{type:String,trim:true},wheels:Number,});varmotorbike=newmongoose.Schem

mongodb - Mongoose findByIdAndUpdate 不工作

我在下面有一个相当直接的方法来更新基于其ObjectId的文档。它不会返回错误,但无法对文档进行所需的更新。我认为它失败了,因为根据我的研究,findByIdAndUpdate()仅采用纯Javascript,而job._id是我要更新的文档中的ObjectId。谁能告诉我如何使这项工作正常进行?functionhandleEncoderResponse(xmlResponse,job){varr=et.parse(xmlResponse);varmediaID=r.findtext('./MediaID');varmessage=r.findtext('./message');Enc

node.js - 是否可以一次搜索多个 Mongoose 模型?

我有四个Mongoose模型,SoleTrader、Partnership、Company和Trust。它们非常不同,我无法将它们全部合并到一个模式中,但又非常相似,以至于我经常需要同时查询或更改所有4种类型,而很少关心它们属于哪种类型。有没有办法做到这一点——可能是将所有四种类型放在一个集合中——而不是每次调用四个数据库? 最佳答案 由于您使用的是mongoose-schema-extend,看起来您可以创建一个简单的“基本”模式并从中扩展您的其他模式。如果您想搜索所有这些模型,请使用基本模型。例如://baseschemavar

javascript - Mongoose 没有将更新的文档保存到数据库

编辑:这个问题之前有人问过,但我没问好。我已经重写了这个问题。预先感谢您的帮助!我正在为一个学校项目编写一个简单的消息传递服务器。在其其他功能中,服务器允许用户更新存储在其帐户中的信息。当用户确实更新他们的帐户时,会为他们生成一个身份验证token。这是定义所有这些的模式。注意,header和body是用户输入的一部分:UserSchema=newSchema({_id:{type:ObjectId,select:false},username:{type:String,required:true,index:{unique:true}},password:{type:String,r