问题标签 [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.
mongodb - 在 Mongoose 的同一文档中查询 3 个不同嵌套数组中的字段?
下面是我的架构设计
我想构建一个查询,它查询所有嵌套数组(即acceptedList、requestList、pendingList)并找出id是否存在,如果id不存在于任何列表中,则更新requestList。
任何技术都是有帮助的。性能是关键。
node.js - 嵌套 ref 填充 mongoose 5.0 nodejs
我有两个模型。第一个是 UserSchema,第二个是 CategorySchema
模型类别是
UserSchema 有出版物。Publications 包含一个数组。在出版物中是包含子类别 id 数组的类别(子类别在 CategorySchema 的范围内)
问题是当我需要填充 UserSchema 的类别时。UserSchema 的类别具有属于 CategorySchema 的子类别的 _id 数组。
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。但对我来说没有用。
我试着用这个
但这对我不起作用。
我尝试了很多尝试。没有一个对我有用。我一直在寻找几天并尝试了很多事情,但我无法解决这个问题。
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
我尝试了很多东西,但都没有奏效。请帮我!。我很担心。
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 库存在一些问题:
这是我正在使用的依赖项列表:
请帮我解决这个问题。
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
node.js - 检索 Mongoose 查询队列时间指标
为了优化连接池大小,我认为绘制查询队列时间图是有意义的。是否可以从 Mongoose 中检索此指标?
javascript - 如何使用 es6 方式导入 mongoose-long 插件
我想将以下导入语法转换为 es6 导入语法
mongodb - Mongoose find 返回一个空数组,但是当我为模型设置变量时返回值
为什么第一个查询不起作用我正在使用猫鼬我希望能够在查询期间检查错误为什么我要使用第一个实例