草庐IT

mongoose-plugins

全部标签

node.js - 多个字段上的 Mongoose 过滤(搜索)

这个问题在这里已经有了答案:Mongooseoptionalsearchqueryparameters?(3个答案)关闭5年前。我正在尝试对多个字段进行基本筛选(搜索),想请教如何实现:Location.find({$and:[{name:{$regex:query.name}},{city:query.city},{type:query.type}]});我一开始就有这个,当然,这会过滤所有字段,$or是不够的。我的数据是这样的:{"name":"Shop1","type":"shop","city":"City1"},{"name":"Shop2","type":"shop","c

javascript - 带有 ArrayFilters 的 Node.js Mongoose .update

就目前而言,我能够使用Mongoshell实现此功能,但在使用Mongoose的Node.js内部嵌套数组时遇到问题。成功的Mongoshell命令:db.test.update({},{$set:{"this.$[i].that.$[x].amnt":10000}},{arrayFilters:[{"i._id":ObjectId('5a568059bc44142a9ca33d09')},{"x.userId":ObjectId('5a466acb864c752f8c9890c6')}]})结果:将amnt字段更改为10000。在对从数据库中提取的给定字符串调用ObjectId(''

node.js - 保存到数据库后,我应该关闭我的 mongoose node.js 连接吗?

我的app.js中有以下代码,它在服务器启动(npmstart)上运行mongo.mongoConnect('connection_string','users').then((x)=>{console.log('Databaseconnectionsuccessful');app.listen(5000,()=>console.log('Serverstartedonport5000'));}).catch(err=>{console.error(err.stack);process.exit(1);});process.on('SIGINT',mongo.mongoDisconne

javascript - Node.JS/Express/Mongodb/Mongoose 简单连接问题

您好:我是Node/Mongo/Express等方面的新手,正在尝试通过mongoose与mongodb建立简单的连接。在这一点上,我只是想建立一个连接,但得到了错误:node.js:134throwe;//process.nextTickerror,or'error'eventonfirsttick^ReferenceError:mongooseisnotdefinedatObject.(/Users/mattydorey/Code/napkin_0.1/testdb.js:8:1)atModule._compile(module.js:407:26)atObject..js(mod

node.js - Mongoose 的 typescript 声明文件

有Mongoose的typescript声明文件吗?我看过BorisYankov的DefinitelyTypedrepo,但似乎没有。任何人都知道我在哪里可以获得Mongoose库的良好d.ts文件?一如既往的亲切问候。 最佳答案 我找到了一个github项目here.里面有mongoosetypescript定义。 关于node.js-Mongoose的typescript声明文件,我们在StackOverflow上找到一个类似的问题: https://st

node.js - 使用 .where() Query with .update() 通过 Mongoose ?

如何在mongoose中使用.where()和.update()?查询条件是传递给.update()的第一个参数。我是否应该将查询条件的null传递给.update()并在其后跟一个.where('_id',id)?另外,我也可以将其应用于.findByIdAndUpdate()/.findOneAndUpdate()吗?如果没有,是否有一个Query方法,在该方法中我可以仅使用更新文档来.update()并通过其他.where()链中的方法? 最佳答案 在Model类上调用where返回一个Query对象,该对象具有您所询问的那种

javascript - 在 Mongodb + Mongoose.js 中动态查询嵌套对象

我如何在Mongoose.js+MongoDB中执行此查询?我有一个简单的架构,其中评级按用户ID存储,以避免重复。对于给定对象的读写,这很好用。但是我如何查询MongoDB以获取特定查看者对其评分的所有项目?例如,这在MongoDBshell中运行良好:db.items.find({ratings.52126672b9f5bd670b000001:{$exists:true}})但我想像这样在Node.js+Mongoose.js中以编程方式查询它,varuser_id=req.params.id;Item.find({ratings.user_id:{$exists:true}},

javascript - Mongoose :找到最近的文件

我有一个day属性的mongoose模式Math.floor((newDate()).getTime()/(24*3600*1000))我想找到输入的最后一天的数据,比如今天是16085那么我想找到输入的最后一天。或者另一种说法是。day属性小于16085但大于day也小于16085。或其他方式day属性小于16085的所有文档集合的最大元素是多少然后遍历我的所有文档,我该怎么做? 最佳答案 在shell中它将是:db.test.find({day:{$lt:16085}}).sort({day:-1}).limit(1)找到所有d

node.js - Mongoose 在 node.js 中为 Multi-Tenancy 支持创建连接

我正在研究一种使用node.js+mongoose和mongodb实现多数据库以支持Multi-Tenancy的好方法。我发现mongoose支持一种名为createConnection()的方法,我想知道使用它的最佳实践。实际上我将所有这些连接存储在一个数组中,由租户分隔。就像:varconnections=[{tenant:'TenantA',connection:mongoose.createConnection('tenant-a')},{tenant:'TenantB',connection:mongoose.createConnection('tenant-b')}];假设

node.js - Mongoose :如何在不填充第一级字段的情况下填充 2 级深度人口?在 mongodb 中

这是我的Mongoose模式:varSchemaA=newSchema({field1:String,.......fieldB:{type:Schema.Types.ObjectId,ref:'SchemaB'}});varSchemaB=newSchema({field1:String,.......fieldC:{type:Schema.Types.ObjectId,ref:'SchemaC'}});varSchemaC=newSchema({field1:String,.....................});当我使用查找查询访问schemaA时,我想拥有字段/属性Sch