草庐IT

mongoose-dbref

全部标签

node.js - Nosql/mongoose——设计

这个问题在这里已经有了答案:MongoDBrelationships:embedorreference?(10个答案)Mongoosepopulatevsobjectnesting(1个回答)关闭4年前。我有一个关于写文章的个人项目。我用mongoose在nosql中做。对于我的API,我使用nodejs+express。但我精通sql,但我是Nosql的初学者...我的问题是关于我的带有类别的文章。我想要像这样设置2级类别:类别1子类别1文章子类别2文章子类别3文章第2类子类别4文章子类别5文章子类别6文章然后我的文章会填充到子类别中。我开始设置3个文件:类别子类别文章像这样,我可以

node.js - 在 Mongoose 中创建索引

如何在一个小时后从我的mongo数据库中删除项目?我见过db.Item.createIndex({"createdAt":1},{expireAfterSeconds:3600})扔了但我如何在nodejs中实现它?我的数据库条目看起来像这样{"_id":{"$oid":"5b4b64bc8c6e8add083431a3"},"location":{"lat":59.924209956924315,"lng":10.70636168616943},"name":"RichardMiddleton","address":"EspressoHouse","message":"sdsd","

javascript - 为什么这个 Mongoose 更新没有保存到数据库中?

我有一个函数,可以将新日期添加到“上课”日期数组中。最初,我从一个非异步的在线示例中复制了一个函数。它使用了一个简单的Mongoose'document.save'调用,并在几天内运行良好。然后它停止更新数组。所以我进行了一些调试,并认为我可能需要一个异步函数,但这也不起作用。我知道我做错了什么,但我不知道那是什么。这是我的代码,完整的console.logs显示函数正在做什么:this.updateDate=asyncfunction(){try{lettoday=this.getFullDate();//returnsastringthatIuseasadateinthedatab

javascript - Mongoose $elemMatch 如何同时查询 $in 和 $nin

我正在使用Mongoose来检查我的数据库中是否存在某个元素。为此,我正在使用类似的东西-object.aggregate([{$match:{"data":{$elemMatch:{$and:[{name:{$in:["A","B"]}},{name:{$nin:["X"]}}]}}}}])问题是文本是数组。因此,当我得到["A","X"]时,我希望结果为空。你有什么想法吗?------------编辑------------对象看起来像:example1={//shouldn'tfind-notin$in_id:"123",data:[{id:"1",name:"E"},{id:"

javascript - Mongoose - 分组、计数并在集合中找不到任何内容时返回 0

我的mongoDB数据库中有2个集合-users和connections。每个connection都有字段user,其中包含存储在users集合中的user的_id.我需要找到每个用户的连接总数,如果用户没有连接,它应该显示0作为他的总数。同时查找每个用户的date字段不等于''的连接数。我写了这段代码,它返回每个用户的连接总数,但只针对至少有一个连接的用户,没有连接的用户根本不会出现......Connection.aggregate([{$group:{_id:"$user",total:{$sum:1},withDate:{$sum:{$cond:{if:{$ne:["$date

javascript - Mongoose 的结果没有分配对象属性

我执行了mongoose查找查询并将结果存储在对象中。varenabledPlayerQuery=playerCollection.find({playerMobile:{$gt:0}})然后在那个对象上,我做了这样的exec操作以在每个对象中添加一个总硬币的值,但是在控制台上当我用来打印对象时它显示值没有被分配。该对象仍然保持以前的状态。enabledPlayerQuery.exec(function(err,queryResult){async.each(queryResult,function(users,result){user.totalCoins=1000;},functi

mongodb - 为什么 Mongoose 无法在 MongoDB Atlas 中创建索引?

我有一个Mongoose模式,其中包含一个具有特定索引的字段:constreportSchema=newmongoose.Schema({coords:{type:[Number],required:true,index:'2dsphere'},…}它在我的本地机器上运行良好,所以当我通过shell连接到MongoDB时,我得到了db.reports.getIndexes()的输出:[{"v":2,"key":{"_id":1},"name":"_id_","ns":"weatherApp.reports"},{"v":2,"key":{"coords":"2dsphere"},"na

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}谢谢。 最佳答案 如果您需要匹配