草庐IT

mongoose-populate

全部标签

node.js - 在 Mongoose 中按月分组

这个问题在这里已经有了答案:MongoDbHowtogroupbymonthandyearfromstring(1个回答)关闭4年前。我有费用明细,我想在其中按月对费用进行分组,并返回月份和该特定月份的费用。我什至检查了Mongoose文档,以根据月份进行汇总,但我的数据不符合他们的标准,因为我正在保存日期,如12-Jan-2018.有什么方法可以让我获得当月的月份和总金额。我想要类似-Jan:50,Feb:45等等...下面是样本集{"_id":{"$oid":"5babee47a7d56e5fb896f181"},"date":"07-Sep-2018","expenseInfo"

javascript - MongoDB/Mongoose - 仅当特定字段唯一时才将对象添加到对象数组

所以我的MongoDB文档中有一个嵌套的对象数组,我想仅在特定字段(在本例中为eventId)唯一时才向该数组添加一个新对象。我的问题与thispost非常相似,只是我似乎无法让该解决方案适用于我的情况。这是文档(UserModel)的样子:{"portal":{"events":[{"important":false,"completed":false,"_id":ObjectId("5c0c2a93bb49c91ef8de0b21"),"eventId":"5bec4a7361853025400ee9e9","user_notes":"Myeventnote"},...andsoo

javascript - 在 mongoose 中查询 id 后的第一个项目数?

我正在考虑实现一个基于游标的分页,我正在考虑对一个id进行编码和解码。是否可以在mongoose中这样查询?MyModel.find({_id:4}).limit(10)所以基本上在该ID之后,您查询接下来的10个项目? 最佳答案 你可以很容易地使用跳过和限制例如:MyModel.find({_id:4}).skip(0).limit(10)MyModel.find({_id:4}).skip(10).limit(10)您可以继续将跳过值增加10,您的分页就完成了!阅读更多:https://www.w3resource.com/mo

node.js - mongoose - 子文档数组未保存在父文档中

我正在尝试使用push()方法将子文档推送到父文档中。之后,我想保存调用save()方法的父文档。但结果是一个空数组。我也曾尝试在保存父文档之前调用parent.markModified('children'),但这没有任何区别。下面是我的模式和应该保存子文档的代码:架构:constprofileSessionSchema=mongoose.Schema({firstName:{type:String,trim:true},...realisations:[realisationSchema],});ProfileSession=mongoose.model('ProfileSessi

arrays - 如何将新值推送到 Mongoose 中的嵌套数组

我正在使用Mongoose。如何将新值推送到数组fixture2?这是我的收藏。我使用userHash来标识此文档。{"_id":ObjectId("5d2548beb1696f1a2d87d647"),"userHash":"5c4b52fc2dfce2489c932e8fcd636a10","fixtures":[{"fixture1":["vote1","vote2"],"fixture2":["vote1","vote2","vote3"],"fixture3":["vote1"]}],"__v":0}fixtures可以有任意数量的元素。在这种情况下,它只有3个。这是我的模型

javascript - 通过更好的排序加速 MongoDB find()? (使用 Mongoose orm)

现在我有这样的东西....Item.find({},function(docs){for(vari=docs.length-15;i但是好像很慢。我希望通过做类似...的事情来加快速度Item.find().sort({_id:-1}).limit(15)...?这可能吗?会有帮助吗?谢谢! 最佳答案 如果您只对第一个(或最后一个,如使用_id:-1排序)15个文档感兴趣,那么是的,对查询设置限制是一个非常好的主意。在您的第一个示例中限制客户端意味着数据库将每个文档发送给客户端,然后客户端忽略除最后15个以外的所有文档。但是,用于指

node.js - 简单的 Mongoose 示例不起作用

我正在尝试运行我在stackoverflow上找到的一个简单的Mongoose/Node示例:varmongoose=require('mongoose'),db=mongoose.connect('mongodb://localhost/db'),Schema=mongoose.Schema;varsentinel=setTimeout(function(){throw"failedtoconnecttoMongoDBafteroneminute!";},60*1000);//60secondsmongoose.model('User',newSchema({properties:{

node.js - Heroku + mongoose 连接错误: no primary server found in set

我在mongolab上有一个mongodb副本集。我正在使用nodejs+Mongoose。当我尝试从本地计算机连接时,一切正常。但是在部署到heroku之后发生了一些错误,Mongoose得到了奇怪的错误:[Error:noprimaryserverfoundinset]这里有一些代码(server.js):async.series([function(callback){console.log('DBConnection:'+siteConf.mongo_url);mongoose.connect(siteConf.mongo_url,siteConf.mongo_options,

node.js - 什么是好的 node.js/mongoose 表单生成器?

从使用其他框架开始,我已经习惯了不手动构建表单并将其映射到数据库对象。自从使用node.js和Mongoose。我正在寻找允许执行以下操作的表单生成器:自动将mongoose对象映射到表单字段处理"new"和“更新”用例允许围绕表单字段注入(inject)类以进行样式设置包括验证允许添加自定义字段有人知道node.js、express、mongoose的任何此类表单构建器吗? 最佳答案 我没用过,也没深入看过,但是https://github.com/oJshua/mongoose-forms看起来它可能很有趣。

json - Mongoose查询结果是只读的吗?

如何修改Mongoose查询返回的对象?假设我们有以下架构:varS=newmongoose.Schema({'name':String,'field':String});我对结果做了如下查询和修改:varretrieve=function(name,callback){S.findOne({name:name}).exec(function(err,obj){if(err)returnhandleError(err);obj['field']='blah';callback(obj);});}obj.field将不包含blah,而是查询返回的原始值,就像它是只读的一样。这是怎么回事?