草庐IT

mongoose-dbref

全部标签

node.js - Mongoose - 查找每个用户的最后一条消息

我正在处理消息系统,我需要从每个向登录用户发送消息的用户那里获取最后一条消息。我在mongoDB中有这个结构:[{"_id":"551bd621bb5895e4109bc3ce","from":"admin","to":"user1","message":"message1","created":"2015-04-01T11:27:29.671Z"},{"_id":"551bd9acf26208ac1d9b831d","from":"user1","to":"admin","message":"message2","created":"2015-04-01T11:42:36.936Z"

node.js - 在不同文件中为 Mongoose 需要另一个模型中的模型模式

我试图在模型中要求我的模型。我确信我的要求路径是正确的,因为我的要求没有错误,但似乎每当我保存新实例时它都不会触发我的模型。我在这里错过了什么?角色.jsmodule.exports=function(){varmongoose=require('mongoose'),Schema=mongoose.Schema;varrole=newSchema({type:String,level:Number,});role.pre("save",function(next){this.type='member';this.level=0;next();});returnmongoose.mod

javascript - MongoDB/Mongoose 在您之前查找结果数量

假设我有一个名为“points”的Mongoose模型。我用列名“points”订购它。并通过将我的用户ID传递给文档列名称用户ID来查找我的文档。我怎样才能找到某些信息,例如“有xx人比你优秀?”在这种情况下,有多少文件的分数比你高?需要“循环”多少次搜索才能找到与您的文档匹配的内容? 最佳答案 查询用户的积分,然后查询积分高于此的用户数。Points.findOne({userId:userId},(err,doc)=>{Points.count({points:{$gt:doc.points}},(err,count)=>{/

mongodb - node.js: 带有 Mongoose 的 expressjs

我正在开发我的第一个node.js/express/mongoose应用程序,由于node.js的异步机制,我遇到了一个问题。看来我没有正确地做这件事......这是我使用express定义的测试路线:app.get('/test',function(req,res){varmod=mongoose.model('MyModel');mod.find({},function(err,records){records.forEach(function(record){console.log('Recordfound:'+record.id);//res.send('Thingretrie

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