草庐IT

mongoose-dbref

全部标签

javascript - 使用 Mongoose 查询 MongoDB 中的模板文字

我正在尝试使用模板文字进行查询,如下所示:router.post('/login',middleware.isLoggedOut,function(req,res,next){passport.authenticate('local',function(err,user,info){if(err){returnnext(err);}if(!user){returnres.redirect('/login');}else{console.log(req.body);vary=0;User.findOne({'username':req.body.username,`privileges.

javascript - 如何从 Mongoose 中的父字段的子文档更改字段

我正在尝试将Mongo数据导出到XLSX,这要求所有数据都在父map中,但目前我有这种格式的数据:[{"_id":"eatete","competition":{"_id":"eatete""name":"Somecompetitionname"},"members":[{"_id":"eatete","name":"Saad"},{"_id":"eatete","name":"Saad2"}],"leader":{"name":"Saad","institute":{"_id":"eatete","name":"Someinstitutename"}},}]理想情况下,数据应该是:[

javascript - Mongoose 没有响应来自 MongoDB 的数据

我有一些代码使用了一些来自database:Assignment和Collection:todolist的数据,它们应该与MongoDB交互并添加、删除或列出集合中的JSON。为了理解问题,我必须在解释之前展示代码。模型代码如下:'usestrict';varmongoose=require('mongoose');varSchema=mongoose.Schema;varTaskSchema=newSchema({id:{type:String,unique:true},desc:{type:String}});module.exports=mongoose.model('Task'

mongodb - 更新/拉取 Mongodb/Mongoose 子文档数组中包含的数组中的值

我在mongoDB集合中有一个文档,如下所示:_id:'5d4721e0b904e825755eaf89',sellers:[{_id:'5d5eeaf7867a4e1e9a1219e6'bizs:[{_id:'6a5eeaf7867a4e124a1219a4',name:'ShopA'}]},]我需要拉取/删除商店A(例如使用它的_id)到目前为止,我已经尝试使用位置运算符$但我仍然无法访问它。下面是我尝试过的代码:Model.findByIdAndUpdate(someId,{"$pull":{'sellers.bizs.$._id':itemId}})但我收到“位置运算符未从查询

node.js - 如何在 Mongoose 模式中引用另一个属性

如果我的模式中有一个属性依赖于另一个属性(比如它的最小值),如何在我的模式中定义它?我的模式中有一个endDate和一个actualEndDate属性,第二个总是大于或等于第一个,我如何将它放入我的模式中constschema=newmongoose.Schema({endDate:{type:Date,min:newDate(),required:true},actualEndDate:{type:Date,min:newDate(),//Ineedthistobemin:this.endDateorsomething}}); 最佳答案

mongodb - Mongoose + Everyauth奇怪的行为

使用everyauth,当我在我的网站上以一个从未被授权的用户身份登录时,将启动以下代码。检查用户是否已经在我的mongodb中,如果不在,则写入它。现在的问题是它适用于第一个经过身份验证的用户,然后如果第二个用户登录,我的joiningUser._id参数会正确启动,但我的模式的所有其他参数都来自第一个保存的用户,就像我的参数一样从未重新初始化...很奇怪,我的console.log显示了正确的新参数,而不是数据库中实际写入的内容。我的身份验证是通过everyauth模块完成的,我使用的是express框架。exports.findOrCreateFacebookUser=funct

mongodb - 如何在使用 Mongoose 进行大量多次插入后执行回调?

我有一个非常大的对象results(可能超过1,000个项目)。我正在迭代它以保存到数据库,但这似乎效率很低:forresultinresultsitem=newItemresultitem.save()有没有更好的方法来执行此操作然后获得回调而不是每次保存都回调? 最佳答案 async模块对此有很大帮助。您可能正在寻找队列。https://github.com/caolan/async#queue您可能已经接近正常Node.js用例的边缘。 关于mongodb-如何在使用Mongoos

MONGODB mongoose更新node.js中的嵌入文档

我的主文档中有一个嵌入的图像文档,我可以按如下方式更新它。每次更新时,它只会覆盖现有图像,不会将其添加到现有图像中。我尝试使用“{images.push:image}”,但这不起作用。语法是什么?我不确定我是否能够解释这个问题。如果没有,请让我知道是否需要在此处添加更多信息。varimage={img:new_file_name,orig_img_name:files.source.filename,caption:fields.message,upload_date:newDate()};RentModel.update({'facebook_id':fb_id,'prop_loca

javascript - 未调用 Mongoose query.remove() 回调

在这个问题上我已经在table上敲了大约2个小时,我似乎找不到解决方案。问题代码如下:/*Users*/varmongoose=require("mongoose");varUser=newmongoose.Schema({a:String,d:String});varremoveByDeviceToken=function(device_token,callback){this.findOne({d:device_token},function(error,user){if(error){callback(error);}elseif(user){user.remove(functi

node.js - 使用 mongoose mongodb nodejs 通过索引变量增加数组中的值

我有一个数字数组:readersNum:{type:[Number],default:[]},我想将indexVariable中的值增加1。这行得通:Posts.update({"readerID":readerID},{$inc:{"readersNum.0":1}},{upsert:true,safe:true},function(err){console.log(err);});但问题是我的值不在特定(常量)索引中,它是一个变量。假设索引变量是indexVariable而不是0,我应该如何增加它?我也试过这个:Posts.findOne({"readerID":readerID}