草庐IT

mongoose-dbref

全部标签

node.js - Mongoose:CastError:在路径 "[object Object]"的值 "_id"转换为 ObjectId 失败

我是node.js的新手,所以我觉得这将是我忽略的一些愚蠢的事情,但我一直无法找到解决我问题的答案。我要做的是创建一个路径,该路径将创建一个新的子对象,将其添加到父对象的子数组中,然后将子对象返回给请求者。我遇到的问题是,如果我将字符串id传递给findById,Node会崩溃TypeError:Object{}hasnomethod'cast'如果我尝试传入一个ObjectId,我会得到CastError:CasttoObjectIdfailedforvalue"[objectObject]"atpath"_id"这是我的代码的粗略轮廓:varmongoose=require('mo

javascript - 如何从 Mongoose 的集合中排除一个特定字段?

我有一个带有MongooseODM(Mongoose3.3.1)的NodeJS应用程序。我想从我的集合中检索除1之外的所有字段。例如:我有一个包含6个字段的集合产品,我想选择除字段"Image"之外的所有字段。我使用了“exclude”方法,但出现错误..这是我的代码。varQuery=models.Product.find();Query.exclude('titleImage');if(req.params.id){Query.where('_id',req.params.id);}Query.exec(function(err,product){if(!err){returnre

mongodb - 将对象插入 Mongoose 中的数组模式

我有这个Mongoose模式varmongoose=require('mongoose');varContactSchema=module.exports=newmongoose.Schema({name:{type:String,required:true},phone:{type:Number,required:true,index:{unique:true}},messages:[{title:{type:String,required:true},msg:{type:String,required:true}}]},{collection:'contacts',safe:tru

javascript - 如何获取在另一个模型中定义的 Mongoose 数据库的架构

这是我的文件夹结构:+--express_example|----app.js|----models|--------songs.js|--------albums.js|----andanotherfilesofexpressjs我在文件song.js中的代码varmongoose=require('mongoose'),Schema=mongoose.Schema,ObjectId=Schema.ObjectId;varSongSchema=newSchema({name:{type:String,default:'songname'},link:{type:String,defa

mongodb - 从 Mongoose 模型中获取模式属性

我正在使用Mongoose.js创建带有模式的模型。我有一个模型列表(很多),有时我想获取构成特定模型的属性/键。有没有一种方法可以提取任何给定模型的属性模式?例如,varmySchema=module.exports=newSchema({SID:{type:Schema.Types.ObjectId//,required:true},teams:{type:[String]},hats:[{val:String,dt:Date}],shields:[{val:String,dt:Date}],shoes:[{val:String,dt:Date}]});是否可以提取/识别模式[SI

node.js - 如何设置 useMongoClient (Mongoose 4.11.0)?

这是我用来连接数据库的代码:privateconnectDatabase(databaseUri:string):Promise{returnMongoose.connect(databaseUri).then(()=>{debug('ConnectedtoMongoDBat%O',databaseUri);returnMongoose.connection;});}今天我将Mongoose更新到4.11.0版,运行测试时收到此警告:(node:4138)DeprecationWarning:`open()`isdeprecatedinmongoose>=4.11.0,use`open

node.js - 如何在 Mongoose 中创建和使用枚举

我正在尝试在Mongoose中创建和使用enum类型。我检查了它,但我没有得到正确的结果。我在我的程序中使用enum如下:我的架构是:varRequirementSchema=newmongooseSchema({status:{type:String,enum:['NEW','STATUS'],default:'NEW'},})但是我在这里有点困惑,我怎样才能把enum的值放在JavaNEW("new")中。如何根据它的可枚举值将enum保存到数据库中。我在expressnode.js中使用它。谢谢 最佳答案 这里的枚举基本上是S

reference - 如何使用 DBRef 查询 mongodb

假设我有以下数据结构:varuser={_id:'foo',age:35};varpost={_id:'...',author:{$ref:user,$id:'foo'},...};如何查询所有引用user[foo]的帖子?我尝试了以下但不起作用:db.post.find('author._id':'foo');varu=db.user.find({_id:'foo'});db.post.find('author':u);官方文档和google都找不到答案!有人知道吗? 最佳答案 知道了:db.post.find({'author.

mongodb - Mongoose:深人口(填充人口密集的领域)

我有Category模型:Category:...articles:[{type:ObjectId,ref:'Article'}]文章模型包含对帐户模型的引用。Article:...account:{type:ObjectId,ref:'Account'}因此,使用填充的articles类别模型将是:{//categoryarticles://thisfieldispopulated[{account:52386c14fbb3e9ef28000001,//Iwantthisfieldtobepopulateddate:FriSep20201300:00:00GMT+0400(MSK),

mongodb - 如何从 find 方法返回 Mongoose 结果?

我能找到的所有用于渲染带有Mongoose结果的页面的东西都说要这样做:users.find({},function(err,docs){res.render('profile/profile',{users:docs});});我怎样才能从查询中返回结果,更像这样?vara_users=users.find({});//non-workingexample这样我就可以在页面上发布多个结果?喜欢:/*nonworkingexample*/vara_users=users.find({});vara_articles=articles.find({});res.render('profi