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$相关视图 ...
随机推荐
- oracle数据库插入日期格式字符串给date类型字段
首先执行 alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss'; 然后执行insert语句而无需使用to_date函数
- Centos 6.4 安装Mplayer 播放器
1.Download the rpmforge-release package. URL1:x86_64.rmp URL2:tar.gz 推荐!!! 2.Install DAG's GPG ke ...
- MACOS使用VScode进行C语言编程
[B站有同步视频教程] 安装VScode 从官网下载vscode安装https://code.visualstudio.com/ 安装code runner插件 配置code runner从终端输出 ...
- 第三方 CSS 并不安全
最近一段时间,关于 通过 CSS 创建 “keylogger”(键盘记录器) 的讨论很多. 有些人呼吁浏览器厂商去“修复”它.有些人则深入研究,表示它仅能影响通过类 React 框架建立的网站,并指责 ...
- Java实现第十一届蓝桥杯JavaB组 省赛真题
试题 A: 指数计算 本题总分:5 分 [问题描述] 7 月 1 日是建党日,从 1921 年到 2020 年, 已经带领中国人民 走过了 99 年. 请计算:7 ^ 2020 mod 1921,其中 ...
- 6.28日模拟考试总结(T1:翻转游戏;T2:抢掠计划,T3:测绘,T4:奖学金)
今天的考试有结束了,又一次被右边的同桌虐了(额,排名第三的大佬)但是考试还是进步了一名,算是有进步吧 成绩: 那个12名就是我,一个AC都没有,太难受了. T1: 题目链接:http://hzoi.c ...
- 武科WUST-CTF2020“Tiki组 ”
赛事信息 官网地址:https://ctfgame.w-ais.cn/参赛地址:https://ctfgame.w-ais.cn/起止时间:2020-03-27 18:00:00 - 2020-03- ...
- springmvc返回接口中long型,页面接收时值却变了
Java序列化JSON时long型数值不准确 现象 项目中用到了唯一ID生成器.生成出的ID时long型的(比如说4616189619433466044).通过某个rest接口中返回json数据后,发 ...
- day35 socket套接字介绍
目录 一.套接字发展史与分类 二.套接字工作流程 三.基于tcp的套接字 一.套接字发展史与分类 套接字起源于 20 世纪 70 年代加利福尼亚大学伯克利分校版本的 Unix,即人们所说的 BSD U ...
- day17 作业
目录 一.编写函数(函数执行的时间用time.sleep(n)模拟) 二.编写装饰器,为函数加上统计时间的功能 三.编写装饰器,为函数加上认证的功能 四.编写装饰器,为多个函数加上认证的功能(用户的账 ...