草庐IT

Mongoose-Crate

全部标签

javascript - 如果使用特殊字符存储值,则使用 $regex 的 Mongoose 查找不会返回预期结果

我正在尝试构建一个搜索用户名或全名的搜索功能......它工作正常但如果用户名像这样“example.name”或“example_name”如果我这样搜索它没有返回结果“examplename"或"examplename"如何解决这个问题以返回匹配的字符,即使是特殊字符用户架构constmongoose=require("mongoose");constbcrypt=require("bcrypt-node");constuniqueValidator=require("mongoose-unique-validator");constschemaTypes=mongoose.Sch

mongodb - Mongoose 模式中的嵌套 map

我目前正在为我们的新JSON格式创建一个合适的Mongoose模式。它不是很复杂,但我遇到了某些值没有保存为数组而是保存为“规范化数组”的问题,如下所示:answers:[{value:5,string:"abc"},{value:4,string:"def"}]willbe:answers:{1:{id:1,value:5,string:"abc"},2:{id:2,value:4,string:"def"}}对象本身也可以有嵌套的“规范化数组”。现在我尝试在顶级模式中使用mongoose类型“Map”,如下所示:answers:{type:Map,of:answer}其中“answ

javascript - 如何在 Mongoose 中填充嵌套实体?

我有这样的模型:constUserSchema=newmongoose.Schema({name:String,workspaces:[{workspace:{type:mongoose.Schema.ObjectId,},owner:Boolean}]});constWorkspaceSchema=newmongoose.Schema({title:String,description:String});我想像这样填充用户记录:{name:"John",workspaces:[{workspace:{title:"Firstspace",description:"Aboutspace

Mongodb 聚合与 mongoose 过滤器嵌入文档

我正在使用NodeJS和mongoose对两个集合进行聚合:集合1(站):/*1*/{"_id":ObjectId("xxx"),"marca":"x","modelo":"xx","fabricante":"x","id_station":[191,457],"sensor_type":[{"name":2,"type":"clima","place":"interior","img":"assets/img/hum.png","name_comun":"Hum.Relativa","medida":"%","interfaz":""},{"name":3,"type":"clima

node.js - 防止 NoSQL 注入(inject) : Isn't mongoose supposed to convert inputs based on given schema?

希望使用mongodb防止对node.js应用程序的NoSQL注入(inject)攻击。varmongoose=require('mongoose');//"^5.5.9"varSchema=mongoose.Schema;varhistorySchema=newSchema({userId:{type:String,index:true,},message:{},date:{type:Date,default:Date.now,}});varhistory=mongoose.model('history',historySchema);//thefollowingistoillust

node.js - Mongoose .find 查询结果包含查询元数据?不能只手动投影集合的每个属性,如何只获取文档?

这个问题在这里已经有了答案:Spreadsyntaxreturnsunexpectedobject(2个答案)关闭3年前。我的一系列文档lookslikethis一旦从后端检索:41:$__:{strictMode:true,selected:{…},shardval:null,saveError:null,validationError:{…},…}$init:true$locals:{}errors:{undefined:{…},files:{…}}isNew:false_doc:{status:"Finished",isOnHold:false,requirements:Arra

node.js - 使用 NodeJS 和 Mongoose 查询嵌入式文档

我需要从mongodb查询以下数据:Project有很多Region,一个Region有很多Link这是数据:{"_id":ObjectId("4f26a74f9416090000000003"),"description":"ATestProject","regions":[{"title":"NorthAmerica","_id":ObjectId("4f26a74f9416090000000004"),"links":[{"title":"AReallyCoolLink"}]},{"description":"ThatAsiaPlace","title":"Asia","_id"

node.js - Mongoose 嵌套文档

我想要的是仅返回meta中的_id和数据(不是我的领域,但因为mongoose有这个主要示例):mongooseembedddocumentsdoc所以,我不是在寻找任何_id,而是在寻找meta.votes.length>0或meta.fans.length>0的记录。目前我这样做:Model.find({},['_id','meta'],函数(错误,数据){回调(空,数据);});我得到没有/data/的记录。我想除了找不到这些集合之外,还有一种方法可以过滤掉它们?编辑:我暂时解决了我的问题:使用:{type:Boolean,default:1},虽然这可能是一个功能(显示和隐藏结

node.js - Mongoose :父级的预保存钩子(Hook)是否总是在嵌入文档的预保存钩子(Hook)之前执行?

正如标题所说:父文档的预保存钩子(Hook)是否总是在嵌入文档的预保存钩子(Hook)之前执行?如果没有,是否有任何黑客来执行它?用例:在嵌入式文档的预保存Hook中,我将一些计算字段存储到父级。在父级的预保存Hook中我做了一些事情:)编辑我问是因为这些钩子(Hook)的异步性质(?)测试几个实例可能无法回答我的问题。谢谢。 最佳答案 经过一些测试:看起来是这样。 关于node.js-Mongoose:父级的预保存钩子(Hook)是否总是在嵌入文档的预保存钩子(Hook)之前执行?,我

Node.js - 如何使用 mongoose db 创建一个唯一的 id

我正在使用Twitter身份验证,并希望将TwitterID作为唯一key存储在mongodb中。但是我看到多个具有相同ID的条目。这是我的架构和代码架构:varTwitterSchema=newSchema({accessToken:String,accessTokenSecret:String,name:String,twitterId:{type:String,required:true,index:{unique:true,sparse:true}}});代码:mongoose.connect('mongodb://localhost/twd')mongoose.model('