草庐IT

mongoose-populate

全部标签

node.js - 如何在 Mongoose 中查找文档时剪切文本?

我有以下架构:varPostModel=mongoose.model('PostModel',{text:{type:String,default:''},created_at:Date});text字段可能很长(大约1000个字符)。当我在我的帖子列表页面上查询帖子时,我需要查询所有帖子,并将text字段剪切为仅150个字符。哪种方法最好?是否可以使用mongoose本身进行剪切,或者我应该在成功回调中使用PostModel.find()检索文本后剪切文本? 最佳答案 您可以为此使用虚拟机。来自docs:Virtualsaredo

mongodb - Mongoose 在数据库中的模型名称后添加一个 "s"?

这个问题在这里已经有了答案:Whydoesmongoosealwaysaddanstotheendofmycollectionname(8个答案)关闭7年前。我在mongoose中创建了一个模式并将其绑定(bind)到一个模型并将模型的名称指定为"user"。但是,在数据库中它被保存为“用户”。有人可以解释为什么吗?//SchemaforaddingneuservarnewUser=newmongoose.Schema({"_id":Number,"firstname":String,"lastname":String,"username":String,"password":Stri

node.js - Mongoose $maxDistance 不精确

我将位置存储在Mongoose模型中(名称+坐标为[lng,lat])并在其上有一个2d索引。我想获得距离以公里为单位的半径内的一个点(经度、纬度)最近的位置。为此,我使用了mongoose的$near和$maxDistance参数。我面临的问题是半径似乎不精确,因此我得到了错误的结果。这是我的地理搜索代码:LocationModel.find({loc:{$near:coords,$maxDistance:max_distance}}).exec(function(err,locations){if(err)returnres.status(400).send({message:er

javascript - 如何编写 Mongoose 查询来过滤子文档

我有一个名为“Users”的Mongoose模式,它有一个“Roles”子文档作为其变量之一,如下所示:varUserSchema=newmongoose.Schema({email:{type:String,required:true,unique:true},password:{type:String,required:true},roles:[{type:Number,ref:'Role'}]});varRoleSchema=newmongoose.Schema({_id:Number,name:{type:String,required:true,unique:true},de

arrays - 根据对象属性查询 Mongoose 文档

我有以下Mongoose模式:varUserSchema=newSchema({name:String,age:Number,...tags:[{text:String,...}]});和以下数组:vartagTexts=['tall','small','green','blue'];我想检索所有包含至少一个标签的所有用户文档,该标签具有在tagTexts中找到的文本属性。例如,如果我有以下用户和tagTexts数组[{name:'Bob',age:17,...tags:[{text:'small',...}]},{name:'Bill',age:29,...tags:[{text:'

node.js - Mongoose : query on a field on an array of ref documents,

这个问题在这里已经有了答案:QueryingafterpopulateinMongoose(6个答案)关闭7年前。这是我的模型:varLocationSchema=newSchema({events:[{type:mongoose.Schema.Types.ObjectId,ref:'Event'}]})varEventSchema=newSchema({title:String,location:{type:mongoose.Schema.Types.ObjectId,ref:'Location'}})我想从Location模型中查询Event模型中的一个字段。下面这个不行findO

node.js - Mongoose 预保存 Hook 正在触发,但未保存其他字段(不使用 model.update)

我试图在我的模式中实现一个计数器来获取下一个问题编号。我已经将它实现为Mongoose中的钩子(Hook)预保存钩子(Hook),一切看起来都很好......除了实际的“数字”字段不会更新。我可以很容易地通过记录到控制台的内容来判断Hook正在触发,甚至该字段似乎也已分配。但遗憾的是,无论我尝试什么,“数字”字段都不会出现在结果中。我看到了几个与MongooseHook相关的问题,但它们似乎都与我没有使用的findOneAndUpdate等相关。这是我的完整模型,底部有钩子(Hook):varmongoose=require('mongoose');varSchema=mongoose

javascript - 如何根据条件设置 Mongoose 模式的默认属性值

我有这个Mongoose模式:varUserSchema=newSchema({"name":String,"gender":String,});我想添加另一个名为图像的字段。如果性别为male,则该图像将具有默认值;如果性别为female,则该图像将具有另一个默认值。我发现可以设置默认值:image:{type:ObjectId,default:""}但是我没有找到如何设置它的条件。 最佳答案 您可以使用documentmiddleware来实现此目的.pre:saveHook可用于在文档保存之前设置一个值:varUserSche

mongodb - WebStorm 11 无法识别的 MongoDb(带有 mongoose)函数

WebStorm对以下函数发出“无法识别的函数或方法”警告:Schema.find()[find()无法识别]Schema.aggregate()[聚合()无法识别]Schema.findOneAndUpdate()[无法识别findOneAndUpdate()]我已经尝试启用NodeJs核心库并进行安装mongodb-DefinitelyTypeMongoose-DefinitelyTypemongoose-auto-increment-DefinitelyTypemongoose-deep-populate-DefinitelyTypemongoose-DefinitelyType

javascript - 蒙戈/ Mongoose : Does Mongoose automatically create indexes on ObjectId types?

我可能在mongo索引文档或mongoose文档中遗漏了这一点。假设我有一个mongoose模式:constSomeEntity=newSchema({foo:{type:String,required:true},bar{type:Schema.ObjectId,ref:'Bar'}});我应该在字段bar上创建索引还是mongo会自动解决这个问题?也就是说,mongo会自动为ObjectId类型创建索引吗? 最佳答案 Inotherwords,doesmongoautomaticallycreateindexesforObjec