草庐IT

mongoose-dbref

全部标签

node.js - Mongoose 检索没有 _id 字段的数据

我想从我的Node.js应用程序中的Mongoose设置中检索一些数据。我注意到无论我写什么作为字段选择,我总是得到_id字段。有办法不取吗?这就是我现在的做法:Transaction.find({username:user.username},['uniqueId','timeout','confirmation_link','item_name'],function(err,txs){console.log("user:"+user.username+"withtxs:"+txs);callback(txs);});并记录包含_id字段的结果。 最佳答案

node.js - Mongoose 删除文档中的数组元素并保存

我的模型文档中有一个数组。我想根据我提供的键删除该数组中的元素,然后更新MongoDB。这可能吗?这是我的尝试:varmongoose=require('mongoose'),Schema=mongoose.Schema;varfavorite=newSchema({cn:String,favorites:Array});module.exports=mongoose.model('Favorite',favorite,'favorite');exports.deleteFavorite=function(req,res,next){if(req.params.callback!==n

javascript - Mongoose - 如果不存在则创建文档,否则,更新 - 在任何一种情况下都返回文档

我正在寻找一种方法来重构我的部分代码,使其更短更简单,但我不太了解Mongoose,也不知道如何继续。我正在尝试检查集合中是否存在文档,如果不存在,则创建它。如果它确实存在,我需要更新它。无论哪种情况,我都需要在之后访问文档的内容。到目前为止,我已经设法在集合中查询特定文档,如果未找到,则创建一个新文档。如果找到,我会更新它(目前使用日期作为虚拟数据)。从那里我可以访问从我的初始find操作中找到的文档或新保存的文档,这很有效,但必须有更好的方法来完成我所追求的。这是我的工作代码,没有分散注意力的额外内容。varquery=Model.find({/*query*/}).lean().

node.js - 使用 Mongoose 在 Koa 中从流式查询中编写流式响应

我正在尝试将一个大型结果集从Mongo数据库发送给Koa应用程序的用户(使用Mongoose)。我最初有类似的东西:varres=yieldModel.find().limit(500).exec();this.body={data:res};但是,正在发送的结果集的大小导致应用程序超时,因此我想将来自数据库的响应流式传输。使用Mongoose,您可以通过执行以下操作将查询结果转换为流:varstream=Model.find().limit(300).stream();但是,我不确定如何在保留所需格式的同时将此流写入响应。我希望发生这样的事情:this.body.write("{da

node.js - 使用 Mongoose 在 Koa 中从流式查询中编写流式响应

我正在尝试将一个大型结果集从Mongo数据库发送给Koa应用程序的用户(使用Mongoose)。我最初有类似的东西:varres=yieldModel.find().limit(500).exec();this.body={data:res};但是,正在发送的结果集的大小导致应用程序超时,因此我想将来自数据库的响应流式传输。使用Mongoose,您可以通过执行以下操作将查询结果转换为流:varstream=Model.find().limit(300).stream();但是,我不确定如何在保留所需格式的同时将此流写入响应。我希望发生这样的事情:this.body.write("{da

node.js - 获取父模式属性以使用 Mongoose 和 MongoDB 进行验证

假设我在另一个模式(项目)中有一个嵌套模式(邀请),并且在尝试保存邀请对象时,我想检查项目模式中的父属性“启用”是否设置为true或false在允许此人将邀请对象保存到邀请数组之前。显然,this.enabled不起作用,因为它试图从不存在的invitationSchema中获取它。如何让父模式上的“启用”属性进行验证?有什么想法吗?感谢您的帮助!varvalidateType=function(v){if(v==='whateverCheck'){returnthis.enabled||false; 最佳答案 通过调用instan

node.js - 获取父模式属性以使用 Mongoose 和 MongoDB 进行验证

假设我在另一个模式(项目)中有一个嵌套模式(邀请),并且在尝试保存邀请对象时,我想检查项目模式中的父属性“启用”是否设置为true或false在允许此人将邀请对象保存到邀请数组之前。显然,this.enabled不起作用,因为它试图从不存在的invitationSchema中获取它。如何让父模式上的“启用”属性进行验证?有什么想法吗?感谢您的帮助!varvalidateType=function(v){if(v==='whateverCheck'){returnthis.enabled||false; 最佳答案 通过调用instan

node.js - 为什么不能修改 Mongoose 查询返回的数据(例如 : findById)

当我尝试更改Mongoose查询返回的数据的任何部分时,它没有任何效果。我昨天花了大约2个小时试图解决这个问题,使用各种_.clone(),使用临时存储变量等。最后,就在我打算去的时候疯了,我找到了解决办法。所以我认为将来有人(fyuuuture!)可能会遇到保存问题。Survey.findById(req.params.id,function(err,data){varlen=data.survey_questions.length;varcounter=0;_.each(data.survey_questions,function(sq){Question.findById(sq.

node.js - 使用 Node.js、Express 和 Mongoose 上传图片

请考虑更新的答案,这些答案包含更多最新信息,因为多年来情况发生了变化!由于许多新的Node.js库很快就被淘汰了,而且无论如何我想问的关于上传图片的例子相对较少:Node.js(v0.4.1)express(1.0.7)Mongoose(1.1.0)。其他人是怎么做到的?我找到了:node-formidable,但我是一般上传图片的新手,所以我想学习一般的东西和使用Node.js和Express的方法。 最佳答案 我将第一次回答我自己的问题。我直接从源代码中找到了一个示例。请原谅可怜的缩进。我不确定在复制和粘贴时如何正确缩进。代码直

node.js - 如何将 Mongoose 文档转换为普通对象?

我有一个来自mongoose的文档,我想在JSON编码之前扩展它并作为响应发送出去。如果我尝试向文档添加属性,它将被忽略。属性没有出现在Object.getOwnPropertyNames(doc)中,因此无法正常扩展。奇怪的是JSON.parse(JSON.encode(doc))工作并返回具有所有正确属性的对象。有没有更好的方法来做到这一点? 最佳答案 MongooseModels继承自Documents,它有一个toObject()方法。我相信您正在寻找的应该是doc.toObject()的结果。http://mongoose