草庐IT

mongoose-dbref

全部标签

node.js - 声明多个模式后无法从数据库中获取数据(mongoose + express + mongodb

我是node.js的新手,我在访问声明多个mongoose模式时遇到问题。//模型中的schema.jsvarmongoose=require('mongoose');varSchema=mongoose.Schema,ObjectId=Schema.ObjectId;//UserSchemavaruserSchema=newSchema({id:ObjectId,firstname:{type:String,require:true},lastname:{type:String,require:true},username:{type:String,unique:true,requi

node.js - Mongoose 多个连接

目前我有此代码用于我的连接mongoose.js:varmongoose=require('mongoose');varuriUtil=require('mongodb-uri');varmongodbUri='mongodb://localhost/db_name';varmongooseUri=uriUtil.formatMongoose(mongodbUri);mongoose.connect(mongooseUri);module.exports=mongoose;需要连接的文件是test.js:varmongoose=require('../model/mongoose');

mongodb - 通过 id 集更新多个文档。 Mongoose

我想知道mongoose是否有一些方法可以通过id集更新多个文档。例如:for(vari=0,l=ids.length;i我想知道的是,如果Mongoose可以做这样的事情:Element.update({'_id':ids},{'visibility':visibility},{multi:true},function(err,records){if(err){returnfalse;}});其中ids是一个id数组,例如['id1','id2','id3']-样本数组。查找同样的问题。 最佳答案 很可能是的。它被称为$inmon

node.js - 使用 mongoose 验证整数值

我正在使用mongoose我需要定义如下模式:constQuestionSchema=newSchema({text:{type:String,required:true},number:{type:Number,required:true,unique:true}});我需要验证number字段是否为整数值。我已经看到了几个插件,例如:mongoose-integer:constvalidateInteger=require('mongoose-integer');constQuestionSchema=newSchema({text:{type:String,required:tr

javascript - 如何在 Node.js 中格式化 Mongoose 的日期?

我正在尝试更改从Mongo数据库中获取的日期格式。目前它们看起来像这样:FriSep16201119:05:17GMT+0900(JST)我尝试在它们上调用.toString('yyyy-MM-dd')但没有任何变化。我不知道它们是Date对象还是只是原始字符串。我已经尝试检查Mongoose手册并在谷歌上搜索了一堆,但还没有找到任何东西。有什么想法吗? 最佳答案 一种现代的方法是使用momentjs,既可用于Node,也可用于浏览器,super好用且简单易用。对于当前的问题,我在遵循所有文档要求后在Node中解决了这个问题:var

node.js - Mocking/stubbing Mongoose 模型保存方法

给定一个简单的Mongoose模型:importmongoose,{Schema}from'mongoose';constPostSchema=Schema({title:{type:String},postDate:{type:Date,default:Date.now}},{timestamps:true});constPost=mongoose.model('Post',PostSchema);exportdefaultPost;我想测试这个模型,但我遇到了一些障碍。我当前的规范看起来像这样(为简洁起见省略了一些内容):importmongoosefrom'mongoose';i

javascript - 具有多个条件的 Mongoose "Find"

我正在尝试使用mongoose过滤器从我的mongoDB数据库中获取数据。场景是数据库中的每个用户对象都有特定的字段,如"Region"或"Sector"。目前,我正在获取所有在对象中包含关键字"region"的用户,如下所示://Filterallhealthcarebiosbyregionapp.get('/user',function(req,res){//usemongoosetogetallusersinthedatabaseUser.find({region:"NA"},function(err,user){//ifthereisanerrorretrieving,send

node.js - 'this' 在 Mongoose 预保存 Hook 中未定义

这个问题在这里已经有了答案:Mongoosepre/postmidlewarecan'taccess[this]instanceusingES6(1个回答)关闭6年前.我已经为一个用户实体创建了一个Mongoose数据库架构,并希望在updated_at字段中添加当前日期。我正在尝试使用.pre('save',function(){})回调,但每次运行它时都会收到一条错误消息,告诉我this未定义.我还决定使用ES6,我想这可能是一个原因(尽管一切正常)。我的Mongoose/NodeES6代码如下:importmongoosefrom'mongoose'mongoose.connec

mongodb - 如何从 Mongoose 中的对象 ID 获取创建日期?

我从ObjectId—MongoDBManual了解到任何mongodb对象id的前4个字节都是创建时间戳。任何从Mongoose中提取该信息的受支持的方法? 最佳答案 我相信ObjectId有一个getTimestamp()方法;例如_id.getTimestamp() 关于mongodb-如何从Mongoose中的对象ID获取创建日期?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questi

node.js - Mongoose,查找,返回特定属性

我有这个电话:exports.getBIMFromProject=function(req,res){mongoose.model('bim').find({projectId:req.params['prj_id']},function(err,bim){if(err){console.error(err);res.send(500)}res.send(200,bim);});};我在哪里指定要返回的属性?在文档中找不到。以上返回整个对象。我只希望返回几个属性。这是我的架构:varmongoose=require('mongoose'),Schema=mongoose.Schema;