wdnmd

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解决的。

 

 

posted @   FreshChick  阅读(401)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示