草庐IT

Node-Express

全部标签

node.js - MongoClient.connect 仅一次

所以在下面的函数中,我总是与我的mongodb建立新的连接。我将如何更改我的代码,以便它只在开始时连接一次,而不是在所有这些功能中连接一次。functiongetData(callback){arrayOfArticles=[];MongoClient.connect(url,{useNewUrlParser:true},callback,function(err,db){if(err)throwerr;letdbo=db.db('testdb');article=dbo.collection('testname').find({}).toArray(function(err,arti

node.js - Mongodb Shell 命令执行以通过 nodejs 删除集合

我有一个测试设置,其中mongoimport和mongoexport命令用于填充现有的mongoDB数据库,例如文件夹testDump中的testDB。最初填充testDB然后恢复的文件夹中的空文件会出现此问题。例如。名为abcInstance.json的集合文件在testDump中为空。$catabcInstance.json[]现在,当我运行一些测试时,该集合会填充到testDB中,但最后当我使用mongoimport命令从testDump文件夹恢复所有集合时,它会因空文件而失败。因此,我尝试使用mongo和spawn命令删除这些集合。if(statSync(collectionF

node.js - MongoDB 过滤器 $lookup 具有日期范围的文档

我有一个查询,输出如下。returnChallengeModel.aggregate([{$match:{is_processed:false,}},{$lookup:{from:'scoreboards',let:{'challengeId':'$_id'},pipeline:[{$match:{$expr:{$eq:['$challenge_id','$$challengeId']}}}],as:'scoreboards'}}]);输出:{"_id":"5b9679db0a3d61258aa3ffc3","voucher_paid_by":"issuer","start_date"

node.js - MongoDB 聚合查找和展开

这个问题在这里已经有了答案:MongoDBaddtojoiningcollectionfieldfrombaseone(1个回答)关闭4年前。我有这个问题:我需要进行查询,获取外部数据(通过查找),“多对多”和“一对多”。我的数据看起来是这样的:转移集合:{"_id":1,"requests":[{"service":1,"foo":"foo1","bar":"bar1"},{"service":2,"foo":"foo2","bar":"bar2"}]}因此,“service”字段是另一个集合“services”的外部ID。服务集合:[{_id:1,name:'Service1"},

node.js - 无法连接到数据库MongoParseError : Unescaped at-sign in authority section

我正在尝试连接到我的nodeJS项目中的mongodb服务器。我有一个数据库配置文件DB.jsmodule.exports={DB:'mongodb+srv://user%40gmail.com:%24ugar@cluster-jfgsm.mongodb.net/test?retryWrites=true'};用户名包含@(%40)标记,因为它是电子邮件ID,密码包含$(%24)个字符。我已经在我的server.js文件中将其连接为mongoose=require('mongoose'),config=require('./config/DB');constapp=express();

node.js - 使用 Mongoose 缓解 MongoDB 注入(inject)攻击

我正在使用MongooseODMwrapper对于NodeJS,我担心注入(inject)攻击。假设我有以下架构:constUserSchema=newmongoose.Schema({userName:String,password:String});如果我要执行如下所示的登录请求:router.post('/login',(request,response)=>{constuserName=request.body.userName;constpassword=request.body.password;User.findOne({userName:userName},functi

javascript - 如何使用 express 和 mongoose 中的参数使聚合函数动态化

我在mongoose中使用聚合函数来获取一些数据,这里是它的静态实现app.get("/male",function(req,res){Record.aggregate([{$match:{"gender":"male"}},{$group:{_id:"$type",total:{$sum:1}}},{$sort:{_id:1}}]).exec((err,data)=>{if(err){console.log(err)}res.json(data)})})我想让它完全动态,所以我尝试了这个app.get("/:query/:type/:match",function(req,res){

node.js - Mongoose - 检查两个数字之间的值

我有一个包含两个年龄的Mongoose文档。前往景点的最低年龄和最高年龄。我需要查询我的数据库以获取0到2岁之间的所有景点。但这行不通:"ageMin":{"$lte":2},"ageMax":{"$gte":0},因为我的大部分吸引力都在0到99之间。为了帮助您形象化,我举了一个例子:attractionOne:{name:"DeadlyLooping",ageMin:12,ageMax:99}attractionTwo:{name:"EasyLadybug",ageMin:0,ageMax:12}谢谢。 最佳答案 如果您需要匹配

node.js - 为什么 ObjectID 没有在 Mongodb 中定义?

我尝试通过查找特定的“_id”来查询我的MongoDB,但新的ObjectID并不能解决问题。我尝试通过“varobj=newObjectID()”创建一个包含随机ObjectID的变量,但效果不佳。然后我检查我的MongoDB版本,它是最新的(数据库版本v4.0.2)。服务器连接工作正常。有什么想法吗?谢谢。我的收藏:[{"_id":"5bc9fe6683dfb93706fe8a24","name":"Luis","occupation":"Doctor"},{"_id":"5bc9fe6683dfb93706fe8a25","name":"Peter","occupation":"

node.js - NODEJS mongodb如何像查询一样将变量放入其中

这个问题在这里已经有了答案:Howdoyouuseavariableinaregularexpression?(26个答案)关闭4年前。我需要将变量放入mongodblike查询中。这是我的代码query={username:/req.params.data/}Users.find(query,function(err,users){if(err){console.log(err);}else{console.log(users);}});req.params.data是一个变量。我需要寻找包含它的用户。