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$相关视图 ...
随机推荐
- 宿主机ping不通虚拟机,虚拟机能ping通宿主机问题
打开虚拟机管理器,点开设置=>网络,网络选的是NAT,所以宿主机不能直接ping能虚拟机!!! 问题描述 查看虚拟机ip, #ifconfig如下图: 宿主机ping虚拟机ip,无法通信,如下 ...
- springMVC中的HttpSession与Model
目录 1.1 spring的@MODELATTRIBUTE 2.1 session的概念 3.1 示例 4.1 为什么springmvc框架要使用model这个对象呢? 突然发问:相信很多人在做WEB ...
- 深入了解JVM-方法区
本文首发于微信公众号[猿灯塔],转载引用请说明出处 今天呢!灯塔君跟大家讲: 深入了解JVM-方法区 当JVM使用类装载器装载某个类时,它首先要定位对应的class文件,然后读入这个class文件,最 ...
- 华山论剑(没有上司的舞会)——树形dp
华山论剑(没有上司的舞会) 题目描述 一日,小策如往常一般打开了自己的传奇,刚上线不久,就收到了帮主的私信.原来帮派里要召开一次武功比拼,让他来邀请各帮派人员,因为有些侠客还是萌新,所以需要小策挨个选 ...
- Jmeter系列(40)- 详解 Jmeter CLI 模式
如果你想从头学习Jmeter,可以看看这个系列的文章哦 https://www.cnblogs.com/poloyy/category/1746599.html 什么是 CLI 模式 CLI = Co ...
- Aspose下载图片
/// <summary> /// 把DataTable数据按照Excel模板导出到Excel /// </summary> /// <param name=" ...
- kubernetes系列(十三) - 存储之Volume
1. Volume简介 1.1 k8s的volume和docker的volume区别 1.2 kubernetes支持的volume类型 2. 重点的volume类型 2.1 emptyDir 2.1 ...
- 微服务架构中的BFF到底是啥?
在<技术中台与业务中台都是啥玩意>一文中留下一个问题:BFF是啥?为啥在API网关和业务中台之间加入了一层BFF?考虑到在实际工作中,我的大部分同事都问过这个问题,这里我也总结一下进行答复 ...
- Linux基础入门(一)初识Shell
Linux基础入门(一)初识Shell shell是什么 Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言. Shell ...
- sql多表语句
多条件查询条件判空 最优写法 3三表带条件查询