小白请教 MongoDB 问题

2018-01-26 16:05:25 +08:00
 maxCham

我有一条数据:在执行 db.getCollection('name').find(), 会找出一些数据例如: { "_id" : "ID_1", "time_Detail" : ISODate("2018-01-26T00:00:00.000Z"), "test1" : "1", "test2" : "2", "test3" : "3", "test4" : "4", "test5" : "5" },{ "_id" : "ID_2", "time_Detail" : ISODate("2018-01-26T00:00:00.000Z"), "test6" : "6", "test7" : "7", "test8" : "8", "test9" : "9", "test10" : "10" }

然后我想修改 ID_1 中的 time_Detail 中的 value。比如目前 find 出来的是 20180126,我想改成为 20080126。能不能不用$set 去直接给时间,可以灵活的使用-10 之类的方法去修改吗? MongoDB 小白请教大神...

3901 次点击
所在节点    MongoDB
7 条回复
maxCham
2018-01-26 16:16:41 +08:00
顶一下,防沉迷;跪求教
zlfzy
2018-01-26 16:21:12 +08:00
用可视化工具改 最简单
maxCham
2018-01-26 16:23:47 +08:00
@zlfzy 可视化工具?但是我是要写 query 在 mongodb 3T robo 上面走的
imherer
2018-01-26 16:32:02 +08:00
-10 ? 你是意思是 2018-10 = 2008 吗?
单日期来说倒是可以-10 年这种做法,但是 MongoDB 应该不行吧,只能单独 update time_Detail 这个 key 的 value 了
KLBJ
2018-01-26 16:58:06 +08:00
> var doc = ISODate("2018-01-26T00:00:00Z")
> doc.setFullYear(doc.getFullYear() - 10)
1201305600000
> doc
ISODate("2008-01-26T00:00:00Z")

这种?
frankkai
2018-01-26 17:04:44 +08:00
问题没时间解决,我给你推荐 2 个很好的资料:《 MongoDB 大数据权威指南》 和 https://docs.mongodb.com/manual/
我之前遇到的一些芒果 DB 的问题,基本上去查阅这本书,查不到都后面的网址的右上角搜索栏里,输入$set
最好的资料就是官方文档
maxCham
2018-01-31 16:04:09 +08:00
@KLBJ @frankkai @imherer @zlfzy 感谢大伙的大力支持,最近有点忙,没时间看回复,问题已经解决了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/426189

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX