问题标签 [mongoose-plugins]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
90 浏览

mongodb - 在 Mongoose 的同一文档中查询 3 个不同嵌套数组中的字段?

下面是我的架构设计

我想构建一个查询,它查询所有嵌套数组(即acceptedList、requestList、pendingList)并找出id是否存在,如果id不存在于任何列表中,则更新requestList。

任何技术都是有帮助的。性能是关键。

0 投票
0 回答
47 浏览

node.js - 嵌套 ref 填充 mongoose 5.0 nodejs

我有两个模型。第一个是 UserSchema,第二个是 CategorySchema

模型类别是

UserSchema 有出版物。Publications 包含一个数组。在出版物中是包含子类别 id 数组的类别(子类别在 CategorySchema 的范围内)

问题是当我需要填充 UserSchema 的类别时。UserSchema 的类别具有属于 CategorySchema 的子类别的 _id 数组。

0 投票
0 回答
546 浏览

node.js - 填充嵌入数组猫鼬 5.0。嵌套参考

这是第一个模型。它位于名为 models/user.js 的文件夹中

模型类别。它位于名为 models/category.js 的文件夹中

看看 UserSchema 有类别。这个有这个参考:

我有一个名为控制器的文件夹。下一个 json 来自 controller/category.js

Category 的 json 看起来是这样的。

每个子类别 2 属于一个类别。

这个在 controller/user.js

没有填充的用户看起来像这样

结果

执行此操作时,我需要填充类别。

所以最终的 json 应该是这样的:

但结果并没有显示最终的 json。

我看到有一个名为动态引用的选项。 http://mongoosejs.com/docs/populate.html

该示例显示了这一点

不使用 ref,而是使用 refPath。但对我来说没有用。

我试着用这个

但这对我不起作用。

我尝试了很多尝试。没有一个对我有用。我一直在寻找几天并尝试了很多事情,但我无法解决这个问题。

0 投票
0 回答
134 浏览

node.js - 填充嵌套引用的嵌套数组

项目的结构是

结构体

主文件是位于主目录中的 index.js。这个有

猫鼬的版本是5.0

app.js 是

像 userRoutes 这样的路由在文件夹路由中。

第一条路线是 routes/cr/category.js

另一个是 routes/cr/user.js

模式在 models/cr

位于“models/category.js”中的第一个模式是

另一个 Schema 是 UserSchema,它看起来像这样

我有一个名为 mongooseeder mongooseeder的插件

为了开始我在终端运行

节点种子。

这会创建一些类别数据。

在我跑之后

npm start(记得用 npm install 安装依赖)

文件 controllers/cr/user.js 有

其中一个功能是

此方法由 routes/cr/user.js 使用 this contains(查看描述路径在哪里以及包含的内容) api.get('/users/', UserController.getUsers);

链接http://localhost:3000/api/users显示了这个

文件 controllers/cr/category.js 有

此方法由 routes/cr/category.js 使用 this contains(查看描述路径在哪里以及包含的内容)

http://localhost:3000/api/categories将显示此 json

我需要填充引用 CategorySchema 子类别的 UserSchema 类别(参见前面提到的模式)。如果您在文件 controllers/cr/user.js 中看到

目前 UserSchema 包含这个

我正在尝试做这样的事情

类别在出版物中(参见前面提到的模式)

我需要得到这样的东西

但它在 UserSchema 的出版物中向我展示了这一点

出版物是 UserSchema 的 inisde(参见前面提到的 UserSchema)

这是下载repository的链接repository的项目 链接在哪里

请帮我解决这个问题。我一直在寻找和尝试很多事情,但都没有成功。我在文档、stackoverflow 和其他网站中找不到解决方案。没有任何效果。我尝试使用猫鼬的动态引用,但这不起作用。我试着用这个。 https://github.com/buunguyen/mongoose-deep-populate

我尝试了很多东西,但都没有奏效。请帮我!。我很担心。

0 投票
0 回答
116 浏览

node.js - _.each 在 npm 更新后抛出错误

在我运行“npm update”以使用最新库推送我的代码之前,一切运行良好。现在我收到错误:

{ message: 'Method Map.prototype.has call on in compatible receiver #', stack: 'TypeError: Method Map.prototype.has call on incompatible receiver #\n at Clone.has ()\n at get (/Users/myproject /node_modules/kareem/index.js:418:11)\n 在 Clone.Kareem.pre (/Users/myproject/node_modules/kareem/index.js:350:16)\n 在 Clone.Schema.pre (/Users /myproject/node_modules/mongoose/lib/schema.js:1135:20)\n 在 Schema.extend (/Users/myproject/node_modules/mongoose-schema-extend/index.js:73:15)\n 在对象。 createSchema (/Users/myproject/framework/nDatabase/bin/system.js:341:89)\n 在 /Users/myproject/framework/nDatabase/bin/system.js:384:24\n 在 Array.forEach () \n 在 Object.resolveSchemaDependancy (/Users/myproject/framework/nDatabase/bin/system.js:356:25)\n 在 /Users/myproject/framework/nDatabase/bin/system.js:406:24\n 在 /Users/myproject/node_modules/lodash/lodash.js:4917:15\n 在 baseForOwn (/Users/myproject/node_modules/lodash/lodash.js:3002:24)\n 在 /Users/myproject/ node_modules/lodash/lodash.js:4886:18\n 在 Function.forEach (/Users/myproject/node_modules/lodash/lodash.js:9334:14)\n 在 Object.traverseSchemas (/Users/myproject/framework/nDatabase /bin/system.js:401:11)\n 在 Object.extractRawSchema (/Users/myproject/framework/nDatabase/bin/system.js:418:40)' }11)\n 在 Object.extractRawSchema (/Users/myproject/framework/nDatabase/bin/system.js:418:40)' }11)\n 在 Object.extractRawSchema (/Users/myproject/framework/nDatabase/bin/system.js:418:40)' }

错误表明使用时 loadash 库存在一些问题:

这是我正在使用的依赖项列表:

请帮我解决这个问题。

0 投票
1 回答
68 浏览

mongoose - mongoose-paginate 模块不支持查询运算符

我刚刚意识到 mongoose-paginate 不支持比较查询运算符https://docs.mongodb.com/manual/reference/operator/query-comparison/

例子:

( created_on: Date)

这将引发错误:

CastError: Cast to date failed for value "{ gte: 2019-01-01T00:00:00.000Z }" at path "created_on" for model "Post"

似乎它将属性created_on与整个对象进行比较,{$gte: new Date('2019-01-01T00:00:00.000Z')}并忽略了 operator $gte。在上面的示例中,它尝试将日期与最终引发转换错误的对象进行比较!

更新

实际上是我的错误,忘记在前面加上 $ 符号gte

0 投票
1 回答
455 浏览

typescript - 创建 NestFactory 后如何将 mongoose 插件设置为模式

我正在使用nest,我需要在设置猫鼬插件之前调用另一个服务来获取密钥,我尝试在其中初始化猫鼬插件main.ts,但它不起作用,下面是我所做的

  • 测试模式.ts

  • 初始化架构.ts

  • main.ts

0 投票
1 回答
187 浏览

node.js - 检索 Mongoose 查询队列时间指标

为了优化连接池大小,我认为绘制查询队列时间图是有意义的。是否可以从 Mongoose 中检索此指标?

0 投票
1 回答
192 浏览

javascript - 如何使用 es6 方式导入 mongoose-long 插件

我想将以下导入语法转换为 es6 导入语法

0 投票
0 回答
34 浏览

mongodb - Mongoose find 返回一个空数组,但是当我为模型设置变量时返回值

为什么第一个查询不起作用我正在使用猫鼬我希望能够在查询期间检查错误为什么我要使用第一个实例