草庐IT

mongoose-orm

全部标签

mongodb - Node + Mongoose : Get last inserted ID?

我想检索最后插入的_id,使用mongoose作为node.js的MongoDB包装器。我找到了以下教程,但我无法更改任何Node模块,因为该应用程序在公共(public)服务器上运行:Getting"LastInsertedID"(hint-youhavetohackMongoose)还有其他想法吗?这是我想做的:插入新用户获取用户的_id值根据用户ID设置新session重定向到/谢谢! 最佳答案 我使用的是mongoose版本1.2.0,一旦我创建了一个mongoose模型的新实例,_id就已经设置好了。coffee>u=ne

node.js - Mongoose 异步/等待查找然后编辑并保存?

是否可以使用async/awaitpromise进行查找然后保存?我有以下代码:try{varaccounts=awaitAccount.find().where("username").in(["email@gmail.com"]).exec();accounts.password='asdf';accounts.save();}catch(error){handleError(res,error.message);}我收到以下错误:ERROR:accounts.saveisnotafunction 最佳答案 这就是我要找的东西:

javascript - 如何使用mongoose在MongoDB中获取findAndModify func的返回值?

我正在像这样使用Node.js+mongoose+MongoDB:SomeModelSchema.statics.findAndModify=function(query,sort,doc,options,callback){returnthis.collection.findAndModify(query,sort,doc,options,callback);};SomeModel.findAndModify({},[],{$inc:{amount:1}},{},function(err){if(err)throwerr;});我可以成功增加amount但我想获得amount的新值而

node.js - 从mongodb(mongoose)获取数据到jade view

我一直试图在我的JadeView中获取mongodb数据。我是node.js的新手,如果这看起来很愚蠢,我深表歉意!我可以在控制台中查看我的表格中的内容:Material.find(function(err,materials){console.log(materials);});但我想将该数据传递给我的JadeViewapp.get('/help',function(req,res){res.render('help',{materials:materials});});我该怎么做? 最佳答案 你在正确的轨道上!只需将渲染放在fi

node.js - 正确处理 Mongoose 的获取错误?

这是一个纯粹的最佳实践问题。我对Node和Mongoose很陌生。我非常喜欢这项技术,并且一直在着手为我正在构建的应用程序构建一个JSON支持的API的项目。我发现当我从数据库中获取对象时,我不断重复代码。例如:Playlist.findById(req.params.id,function(err,playlist){if(err)returnres.json({error:"Errorfetchingplaylist"});elseif(!playlist)returnres.json({error:"Errorfindingtheplaylist"});//Actualcodeb

node.js - Mongoose 选择字段(嵌套)

我正在尝试使用mongoose中的选择运算符为以下对象选择某些字段:{"_id":ObjectId("5249bb97a5de48bda3000003"),"id":1,"geometry":{"coordinates":[1,1],"type":"Point"},"properties":{"TYPE":"SomeType","TIMESTAMP":......},"type":"Feature"}我想mongo只返回'properties.TYPE'和properties.TIMESTAMP字段。我可以使用以下查询在mongo中执行此操作:db.features.find({id:

node.js - Mongoose 发现不工作

这是我第一次在Node/Express/Mongoose中编写MVC应用程序,所以我真的需要一些帮助。我的.find()命令什么也没找到!:(结构是我在根目录中有一个/app文件夹。/app文件夹中包含/models(模式)、/controllers和/views。我在根目录之外有app.js。app.js中的某处://allnecessaryconfig/setupstuff..varmongoose=require('mongoose');mongoose.connect(config.db);varapp=express();require('./config/routes')(

node.js - mongoose Document#update 的所有可能回调参数是什么?

这似乎记录得很差..documentation示例只是将callback传递给更新。有一个链接重定向到Model.updatehere并且示例显示回调的参数是(err,numberAffected,raw).Document#update回调是否传递相同的参数?我希望得到更新的文件返回。我最初的搜索是基于howtoupdateadocumentinmongodb但即使是那里的答案也没有解释甚至列出回调的参数。 最佳答案 由于某种原因,糟糕的回调参数文档一直困扰着许多node.js库。但是MongoDB的update命令(不管驱动程序

javascript - Mongoose toObject : { virtuals: true }

我正在尝试学习MongoDB/Node,但我注意到在架构中我经常看到这样的内容:toObject:{virtuals:true}toJSON:{virtuals:true}这两行是什么意思? 最佳答案 这不是“MongoDB”,而是特定于mongooseODM。Mongoose有一个"virtual"的概念架构定义中的字段。这基本上允许这样做(从文档中公然收集):varpersonSchema=newSchema({name:{first:String,last:String}});varPerson=mongoose.model(

mongodb - Mongoose 如何在幕后工作

谁能告诉我我有一个收藏a{b:Stringc:Dated:ObjectId-->j}j{k:Stringl:Stringm:String}当我执行:a.find({b:'thing'}).populate('d').exec(etc..)这实际上是在后台对MongoDB执行两个查询以返回所有项目“j”吗?我没有问题让填充工作,我担心的是任务的性能影响。谢谢 最佳答案 Mongoose使用两个查询来完成请求。a集合被查询以获取与主查询匹配的文档,然后查询j集合以填充d文档中的字段。您可以通过启用调试输出查看Mongoose正在使用的查