mongoose子文档生成不了_id,查询困难的解决办法
以下是我的数据库表

本来是想设置一个自增属性,比如listId,来定义我的子list,sliderlist这些,这样能确保他的唯一性,结果尝试了很久都无法成功,原生,插件都无法成功,
这两个网址是讲的我觉得比较好的,可惜没成功
https://www.cnblogs.com/IamThat/p/5668411.html
https://segmentfault.com/q/1010000011399175
然后只好用他自带的_id来做标识,这样又有很多问题,在读取跟存储中,直接导入json文件是不会生成这个id的,我用自己写的方法在list后面push+save才会
生成这个id,生成后读取的时候又有许多问题
对于_id的读取存在格式问题,这里的_id需求是ObjectId,而我们直接用很容易变成string类型。
有2种办法,
对于父元素,可以直接使用findById来查询
对于子元素,则需要转换id的格式,mongoose有专门定义好的方法直接用即可。
在这个时候还剩下的问题就是无法根据id查询子文档,找了接近一天无法解决这个问题,下面是两个相同问题的博客但是我尝试都无法解决我的问题
https://segmentfault.com/q/1010000009290543
https://www.qedev.com/bigdata/217914.html
最后只能用了一个不是办法的办法,

这里的$是占位符的问题,只有这样能返回需要的目标子文档,找不到其他的方法。
然后修改图片也无法解决,找不到匹配的图片。最后用了一种非常蠢的办法,但是能实现 ,数据量大后肯定会影响性能,现在也能看出微妙的延迟,就是根据前端传的参数,先删除后新建,因为我这两个功能是完全没问题的。
早上起来敲一下,居然找到了解决办法,果然一直卡在一个地方的时候得改改,

这样即可修改当前的
然后解决最后一个问题,点击修改的时候获取当前文件夹的图片,然后点击图片后,会预览图片。
这个的实现没想到很简单,因为我add的表单是双向数据绑定的,直接新建一个div来放置要修改的图片,添加一个v-if判断,如果add的数据存在则显示图片,不存在则不显示图片,不过奇怪的是我无法通过
this.add的判断来实现,突然想到应该是this.add我在刚开始读取到列表的时候sliderImg是空,页面找不到空的图片而导致报错,最后用了this.add.sliderImg解决的。

mongoose子文档生成不了_id,查询困难的解决办法的更多相关文章
- 关于apidoc文档生成不了的一个原因
前几天在写完API后,写注释文档,然后很习惯的去用apidoc取生成注释文档,但是奇怪的事发生了,没有注释的内容,也没有报错:注释代码如下: /* * @api {get} /applet/:id 根 ...
- Flask中无法在其他函数中查询Sqlachemy的解决办法
报错信息部分截取: File "D:\python 3.5\lib\site-packages\flask_sqlalchemy\__init__.py", line 912, i ...
- MySQl查询区分大小写的解决办法
通过查询资料发现需要设置collate(校对) . collate规则: *_bin: 表示的是binary case sensitive collation,也就是说是区分大小写的 *_cs: ca ...
- 动软数据库文档生成器 失败错误码HRESULT:0x80010105 解决办法
是否在关闭office文档模板时提示拼写错误语法检查太多而导致失败?如果是提示这个错误的话,可以将拼写检查和语法检查关掉即可.下附相关链接:http://support.microsoft.com/k ...
- Aspose.Words 直接写response导出docx文档显示文件已损坏需要修复的解决办法
使用Aspose.Words的Document.Save(HttpResponse response, string fileName, ContentDisposition contentDispo ...
- wcf使用JetEntityFrameworkProvider.dll写access数据库时,报"操作必须使用一个可更新的查询"错误的解决办法
由于users用户组无权重写access数据库,需要设置users组用户能读写access数据库.
- mongoose 查询子文档的方法
{ "__v": 1, "_id": "538f5f0f6195a184108c8bd8", "title": &quo ...
- android R 文件生成不了
在android中比较头疼的是R文件生成不了.今天总结一下R文件生成不了的一些原因和解决方法 1. xml文件有错, 如果在res文件中的xml文件有错,android不会自动生成R文件,此时仔细查看 ...
- 【Oracle】想查询相关的v$视图,但是提示表或视图不存在解决办法
原因是使用的用户没有相关的查询权限导致 解决办法: grant select any dictionary to 用户; --这个权限比较大 这个权限是最低的要求,但是可以访问到v$相关视图 ...
随机推荐
- 使用vs2019加.net core 对WeiApi的创建
vs2019创建webapi 1.创建新的项目 2.选择.NET CORE的ASP .NET CORE WEB应用程序 3.定义项目名称和存放地点 4.选择API创建项目 5.删除原本的无用的类 6. ...
- css modules是什么?
什么是CSS Modules? 官方的介绍是: 所有的 class 的名称和动画的名称默认属于本地作用域的 CSS 文件.所以 CSS Modules 不是一个官方的规范,也不是浏览器的一种机制,它是 ...
- 组合 a 标签与 canvas 实现图片资源的安全下载的方法与技巧
普通用户下载图片时只需一个「右键另存为」操作即可完成,但当我们做在线编辑器.整个 UI 都被自定义实现时,如何解决不同域问题并实现页面中图片资源的安全下载呢?本文就解决该问题过程中所涉及的正则表达式. ...
- 初用MySQL Mysql示例库 Navicat15
初用MySQL Mysql示例库 Navicat15 查询MySQl版本 Mysql shell > select version(); 右括号,not version 查看初始密码 M ...
- python使用数组实现链表的策略分析
python实现链表数据结构:数组/节点与引用 使用数组策略: 使用数组存储指向其他对象的引用 数组存储空间过度分配 数组填满后,分配一个更大的数组,将旧数组的内容复制到新数组中 class Arra ...
- 【XCTF】ics-04
信息: 题目来源:XCTF 4th-CyberEarth 标签:PHP.SQL注入 题目描述:工控云管理系统新添加的登录和注册页面存在漏洞,请找出flag 解题过程 进入注册页面,尝试注册: 进行登录 ...
- scala 数据结构(一):数据结构简介
1 数据结构特点 scala集合基本介绍 1)Scala同时支持不可变集合和可变集合,不可变集合可以安全的并发访问 2)两个主要的包: 不可变集合:scala.collection.immutable ...
- java 面向对象(四十一):反射(五)反射应用二:获取运行时类的完整结构
我们可以通过反射,获取对应的运行时类中所有的属性.方法.构造器.父类.接口.父类的泛型.包.注解.异常等....典型代码: @Test public void test1(){ Class clazz ...
- java 基本语法(九) 数组(二) 一维数组
1.一维数组的声明与初始化 正确的方式: int num;//声明 num = 10;//初始化 int id = 1001;//声明 + 初始化 int[] ids;//声明 //1.1 静态初始化 ...
- Django框架10 /sweetalert插件、django事务和锁、中间件、django请求生命周期
Django框架10 /sweetalert插件.django事务和锁.中间件.django请求生命周期 目录 Django框架10 /sweetalert插件.django事务和锁.中间件.djan ...