栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何使用MongoDB更改数组的顺序?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何使用MongoDB更改数组的顺序?

就像@ blakes-seven所说的那样,您有两种方法可以做到:

抓取,更新和推送

db.images.find({ _id: '' }, { images : 1 }).then(function(img) {  var tmpImg = img.images[0];  img.images[0] = img.images[1];  img.images[1] = tmpImg;  db.images.update({ _id: img._id }, { $set: { images: img.images } });})

__使用 $ position* 直接更新 (如果您在客户端上有映像并且知道索引) *

db.images.update({ _id: '' }, { $push: { images: { $each: ['img2'] }, $position: 0 } } } ).then(function() {  db.images.update({ _id: '' }, {$unset: {'images.2': 1}})});

https://docs.mongodb.org/manual/reference/operator/update/position/

但是,我认为您应该重新设计存储图像的方式,例如使用虚拟顺序:

{  images: [    { base64: 'img1', order: 0, _id: 'img1' },    { base64: 'img2', order: 1, _id: 'img2' },    { base64: 'img3', order: 2, _id: 'img3' }  ]}

这样,您可以使用虚拟订单索引对图像进行排序,仅使用_id对其进行更新,或者通过更改所有img2的顺序,删除或替换图像等来更新整个集合。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/436550.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号