草庐IT

mongoose-populate

全部标签

javascript - 如何使用 Mongoose/Node.js 删除数组中的项目

所以我已经阅读并尝试为此实现其他解决方案。我只是想深入了解为什么它对我不起作用。这是我的第一个后端工作项目。我正在努力完成一门类(class),但想自己尝试一些东西来使概念坚持下去。这是我的架构//ANIMALvaranimalSchema=newmongoose.Schema({image:String,name:String,variety:String,DOB:Date,logs:[{amount:Number,notes:String,dateMilked:Date}],created:{type:Date,default:Date.now}});到目前为止,除了删除日志之外,

node.js - Mongoose 鉴别器 : NodeJS/Express

我已经使用Express和其中一个CreateAPI开发了CRUDAPI,我希望根据请求正文中提供的bool标志扩展我的Mongoose模型架构。创建API主体(需要以这种格式存储在数据库中):{"name":"JohnDoe","admin":true,"adminControl1":"SomeControl","adminControl2":"SomeOtherControl",}但是存储在我的MongoDB中的数据如下:{"name":"JohnDoe","admin":"true",}我的模型文件如下:constmongoose=require('mongoose');cons

node.js - 即使字段从文档中删除,Mongoose 也会返回字段的默认值

我有一个这样的学校架构:varSchoolSchema=newmongoose.Schema({name:{type:String,required:true}status:{type:String,default:"active"}});Mongoose默认功能在两个层面上起作用:1)如果输入中不存在该字段,则在保存时将字段值设置为默认值。2)获取时,如果保存的文档中不存在该字段,则将字段值设置为默认值。我希望它只在保存时将其设置为默认值,并且在获取文档时,如果记录中不存在状态属性,它应该为状态返回空值。目前,当我从记录中删除状态属性时,它会返回“事件”。我有办法做这个Mongoos

node.js - 如何在两个包中使用 Mongoose ?

我正在使用Lerna处理我的存储库中的多个包。基本上,我有一个包@pkg/server我的Node/Express应用程序所在的位置和另一个包@pkg/model我的Mongoose模式所在的位置。我的RESTAPI使用了一些模型,importModelAfrom'@pkg/model'。问题是这两个包都有mongoose作为依赖项(@pkg/server使用mongoose建立到mongoDB服务器的连接,并且@pkg/model使用mongoose来定义模式和模型。在我的服务器中,每当我尝试调用ModelA.find(...)时,它就会永远挂起。从mongoose文档看来,我必须将

mongodb - Mongoose 聚合内部查找按字段分组

我试图对所有不同的字段进行分组,然后查找另一个表,问题是我在查找中为同一用户添加了太多结果,所以我想知道如何在内部对这些结果进行分组,然后在下一阶段将另一个查找添加到不同的表。目前我有以下代码:Post.aggregate([{"$group":{"_id":{"id_fanpage":"$id_fanpage"},"total":{$sum:1}}},{"$lookup":{"from":"v3_post_reaccion_angry","localField":"_id.id_fanpage","foreignField":"id_fanpage","as":"resultingA

node.js - 在Mongoose中创建索引和在MongoDB中创建索引有什么区别吗?

我知道您可以使用MongoDB在字段上创建索引,同样也可以使用Mongoose。但是,这些之间有什么区别吗?例如,Mongoose创建的索引是由Mongoose处理的,而不是由MongoDB本地处理的吗?如果是,与在MongoDB中本地完成的相同操作相比,是否有任何性能或任何其他优点或缺点?或者Mongoose是否在内部只执行MongoDB创建索引操作? 最佳答案 查看mongoosedocumentation他们说:在句子中MongooseautomaticallycallscreateIndex很明显,mongoose使用mon

javascript - Mongoose 占总数的百分比

我有一个看起来像这样的模型:型号:createdAt:{type:String,default:Moment(newDate()).format('YYYY-MM-DD')},loginTrack:[{user_id:{type:mongoose.Schema.Types.ObjectId,ref:'Users',}}一些数据:[{_id:...,createdAt:'2018-03-22',loginTrack:[{user_id:1,...}{user_id:1,...},{user_id:2,...}]},{_id:...,createdAt:'2018-03-23',login

node.js - 如何在没有模式的情况下创建 Mongoose Provider。嵌套

我需要创建一个mongoose连接来获取db.stats()。我按照nestjs教程使用mongoose和providers方法从数据库中获取数据。但是我没有得到统计数据,因为这种方法在Mongoose和模型之间建立了关系。我在我的方法中写了这几行,但是代码非常复杂:asyncgetStatsFromDatabase():Promise{awaitmongoose.connect(env.base.mongodb.uri);conststats=awaitmongoose.connection.db.stats();awaitmongoose.disconnect();returnst

node.js - 在 Node/Express 应用程序中使用 Mongoose/MongoDB 从一个模型填充到另一个模型

我很难理解Mongoose中的populate方法,同时在将字段从一个Mongoose模型填充到另一个模型时遇到问题。第一个模型架构是:varMprnSchema=newmongoose.Schema({mprNo:{type:Number,unique:true,required:true},siteName:String,buildingNo:Number,streetAddress:String,secondAddress:String,townCity:String,postCode:String,supplier:String,siteContactName:String,s

node.js - Mongoose - 如何防止 mongoose 在模型实例化时创建 _id

我希望MongoDB本身在插入时添加一个_id,这样我就可以使用ObjectID跟踪插入时间,但是当我执行newMyModel(...)时,moongose将添加id字段。如何防止这种情况发生,以便数据库本身添加id?或者,我如何创建一个将由数据库设置为插入时间的字段?编辑:我发现这在技术上对于mongoose是不可能的,所以是否可以在插入完成时添加一个由MongoDB设置的字段?我的模型(如果相关):{timestamp:{type:Date,required:true},signaler:{type:String,required:true,trim:true},source:{t