草庐IT

mongoose-plugins

全部标签

node.js - 在模型文件中获取 Mongoose 未定义错误

mongoose模块已经安装也包含在index.js在index.jsmongoose=require('mongoose').connect(config.dbURL),...require('./routes/routes.js')(express,app);在routes.jsvarCategory=require('../models/category');...在模型文件夹category.jsvarcategorySchema=mongoose.Schema({category_name:String,alias:String,added_on:String});但是在模型

javascript - 使用 mongoose 查询 mongodb 中集合的命名文本索引

我正在通过mongoose使用自定义名称在我的集合上创建一个文本索引,但我不确定如何查询该特定文本索引,或者您是否可以拥有多个文本索引一个集合。我已经指定了一个索引:mongoose.connection.collections['jobs'].ensureIndex({title:'text',description:'text'},{name:'customtext'});我可以用一般的$text查询来搜索它:varquery={"$text":{"$search":"bleepbloop"}}Model.find(query,function(error,results){});

node.js - Mongoose:如何通过 model.findOneAndUpdate() 检查文档是否被修改

在mongoose中,我们可以使用model.update()检查更新操作是否修改了文档:model.update(query,update,function(err,raw){if(raw.nModified>=1)console.log('documentismodified!')});有没有办法对model.findOneAndUpdate()做同样的事情?model.findOneAndUpdate(query,update,{new:true},function(err,doc){if(doc){//SoMongoDBfoundthedocument,butisthereaw

javascript - 确定 Mongoose 中空数组和未定义数组之间的区别

在使用Mongoose从MongoDB中读取数据时,如何区分空数组和空值/未定义值?Mongoose将两者都读取为一个空数组,但在数据库中我必须使用它们的含义是不同的。示例:varMongoose=require('mongoose');varMongoClient=require('mongodb').MongoClient;Mongoose.connect('mongodb://localhost/test');//mongoosevarDemo=Mongoose.model('demo',{names:[String]},'demo');MongoClient.connect('

javascript - 无法使用来自非 Mongoose 对象的 Mongoose 对象方法

假设我们有一个Mongoose对象Foo.js。varmongoose=require('mongoose');varBar=require('/path/to/bar');varFoo=mongoose.Schema({});Foo.statics.hello=function(){console.log('hellofromfoo');};Foo.statics.useBar=function(){Bar.hello();};module.exports=mongoose.model('Foo',Foo);以及常规的javascript对象Bar.js。varFoo=require

angularjs - 类型错误 : Dbschema(Mongoose Schema) is not a function

我正在尝试使用Mongoose使用MEAN_Stack创建一个简单的注册表单。这是我的models/dbSchema.jsvarmongoose=require('mongoose');varSchema=mongoose.Schema;varUser=newmongoose.Schema({FirstName:String,LastName:String,City:String,Email:String,Userid:String,Password:String});module.export=mongoose.model('user',User);这是我的server.jsvare

node.js - Mongoose 从不同的数据库填充模式

例如,我有SchemaA和SchemaB,它们都属于不同的数据库。在SchemaA中,我有doc.b={type:mongoose.Schema.Types.ObjectId,ref:'SchemaB'}。当我填充这个时,我遇到了以下错误。MissingSchemaError:尚未为模型“SchemaB”注册架构。使用mongoose.model(name,schema)从我的研究中,我了解到mongoose支持人口跨数据库。我需要为每个模式多次使用mongoose,这是问题所在吗?基本上我需要的是两个不同的模式,它们连接到不同的数据库以与填充一起工作。如果我在mongoose创建的连

javascript - 使用带有 mongoose 的 promise 对文档进行排序

当我执行console.log(all)时,我希望取回过滤后的排序数据,但我取回了整个原始数据。为什么?varComp=require("./models/company.js");vararr=[{name:"comp1",industry:"industry1",ranking:20},{name:"comp2",industry:"industry2",ranking:5},{name:"comp3",industry:"industry3",ranking:10}]varoutput={};varpromise=Comp.find({}).exec()promise.then(

node.js - Mongoose 模式类型选项

我已经四处寻找了一段时间,但我似乎找不到mongoose模式类型可选关键字的明确列表(我不知道这是否是它们的正确术语,这可能是我困惑的一部分).例如:varmovie=newSchema({title:{type:String,required:true,lowercase:false}})在这里,电影的标题是必需的,不是小写的。我在哪里可以找到optional的完整列表?我所说的可选值是指“必需”、“小写”等。其他类型没有“小写”之类的东西,那么是否有适用于字符串、数字、数组等的列表? 最佳答案 好的,我通过浏览他们的文档自己整理

javascript - 如何通过 Mongoose 中的对象数组查找?

我有这样的Mongoose.Schema:constpixelSchema=mongoose.Schema({x:String,y:String,color:String,});我还有这样的对象数组:letpixels=[{x:0,1:0,color:'blue'},{x:0,y:1,color:'blue'},{x:0,y:2,color:'blue'},]我如何检查此元素之一是否已存在于数据库中?我的解决方案现在看起来像这样,但我认为它非常低效。pixels.map(pixel=>{Pixel.find(pixel,(err,pixels)=>{if(pixels){console