草庐IT

mongoose-orm

全部标签

node.js - Mongoose - 子文档验证不起作用

我有一个如下所示的架构:varminderSchema=mongoose.Schema({phones:{type:[{details:{type:{country_code:{type:String,required:true},region_code:{type:String,required:true},number:{type:Number,required:true}},required:true},}],required:true},})也就是说……一个minder由一系列电话(这是必需的)组成。每部电话都必须有国家代码、地区代码和号码。然而,验证似乎不起作用。IE。我可以

node.js - 多用户应用程序的 Mongoose 模式

我需要为需要使用MongoDB、Express、AngularJS和NodeJS开发的多用户应用程序创建架构。我在该应用程序中有4种类型的用户,GUEST、REGISTERED_USER、SUBSCRIBER、ADMIN。用户注册应用程序后,我需要根据特定用户的Angular色显示表单和信息。有人能给我一些关于如何处理用户不同Angular色的架构的想法吗,因为我以后可以将它用于Angular色和访问级别的功能?例如,以下registeredUserSchema对REGISTERED_USER、SUBSCRIBER、ADMIN用户很常见:varregisteredUserSchema=

node.js - Mongoose 查询 : remove "_id" attribute, 在结果中保留虚拟属性 "id"

我正在运行一个Express.js应用程序,我有以下设置:models.jsvarschemaOptions={toJSON:{virtuals:true},toObject:{virtuals:true}};varmodelSchema=newmongoose.Schema({name:{type:String,required:true}},schemaOptions);modelSchema.virtual('id').get(function(){returnthis._id;});controllers.jsexports.getModel=function(req,res)

node.js - Mongoose OpenShift 连接

我正在使用nodejs和mongodb在openShift上构建应用程序。我也在使用Mongoose并尝试使用此代码进行连接varurl=process.env.OPENSHIFT_MONGODB_DB_URL;vardb=mongoose.connect(url,function(err){console.log("Errorloadingthedb...");});检查openshift日志我可以看到它给了我错误消息。这样做的正确方法是什么? 最佳答案 您可以尝试以下模式:server.js//callthepackageswe

node.js - 如何在没有 Mongoose 的情况下使用 express 连接到 mongodb?

我正在使用express框架,并且想在不使用mongoose的情况下连接到mongodb,但使用nativenodejsMongodb驱动程序。在不每次都创建新连接的情况下如何做到这一点?为了处理get或post请求,我目前为每个请求打开一个到数据库的新连接,并在请求完成时关闭它。有一个更好的方法吗?提前致谢。 最佳答案 按照我评论中的示例,对其进行修改,以便应用处理错误而不是无法启动服务器。varexpress=require('express');varmongodb=require('mongodb');varapp=expr

javascript - Node.js 检测两个 Mongoose 查找何时完成

我正在尝试使用此library使用自动完成初始化两个输入.当我加载我的页面时,我会触发一个Ajax来初始化两个输入文本。但我不知道如何检测我的所有mongoose查找何时完成。这是我的服务器端代码:app.post('/init/autocomplete',function(req,res){varautocomplete={companies:[],offices:[]};//FindallcompaniesCompany.find({},function(err,companies){if(err)throwerr;companies.forEach(function(compan

node.js - Mongoose 模式中的 `required`是什么意思?

我正在编写一个Mongoose模式,我想了解它的属性。这是我的架构:varUserSchema=newSchema({name:String,username:{type:String,required:true,index:{unique:true}},password:{type:String,required:true,select:false}});为什么没有为`name'声明required-?为什么要声明必需?select-true/false-是什么意思?当index-应该声明什么原因? 最佳答案 为什么没有为`nam

node.js - 用于规范化数据的 Mongoose getter/setter

我有User架构,其中有一个username字段。我希望这个字段区分大小写,以便用户可以注册诸如BobDylan之类的名称。但是,我需要我的架构来验证新条目以检查是否有重复的、区分大小写的,例如bobdylan。我的研究告诉我,我应该在架构中创建一个额外的字段来存储小写/大写版本,以便我可以轻松检查它是否是唯一的。我的问题是,我将如何使用MongooseAPI实现这一目标?我尝试过使用set函数,比如:UserSchema.path('username_lower_case').set(function(username_lower_case){returnthis.username.

node.js - Mongoose 更新 : $inc is not working in upsert

我正在尝试更新文档(如果存在)或插入(如果不存在)。我有一个带有$inc的字段,(希望将先前的值加一)。我的代码是varAppuser=newAppusers({imei:req.body.imei,$inc:{user_count:1},install_flag:1});varupsertData=Appuser.toObject();deleteupsertData._id;Appusers.update({imei:Appuser.imei},upsertData,{upsert:true},function(err,data){if(err)returnconsole.log(

node.js - Mongoose 得到 `TypeError: user.save is not a function` - 怎么了

我正在尝试将用户数据发布到mongodb但出现错误:`TypeError:user.saveisnotafunction'-如何解决这个问题?这是我的代码:varexpress=require('express'),app=express(),bodyParser=require('body-parser'),mongoose=require('mongoose'),PORT=process.env.PORT||8080;//connecttodbmongoose.connect('mongodb://3gwebtrain:admsin@ds147975.mlab.com:47975/