Mongodb 字符串转 ObjectId

2021-12-23 23:39:21 +08:00
 leebs

原 MongoDB 数据包含 ObjectId 类型的字段。

构建缓存的时候,将 MongoDB 数据通过 JSON.srtingify 存储到 redis 中,这时候 ObjectId 类型的字段都会变为字符串。

取缓存的时候,如果我要获取 ObjectId 类型的字段,就必须手动做类型转换。

有其他办法可以根据 Schema 自动做类型转换嘛?或者 JSON.stringify 不转换 ObjectId 类型。

2146 次点击
所在节点    MongoDB
5 条回复
Weny
2021-12-23 23:49:13 +08:00
check here
Weny
2021-12-23 23:49:23 +08:00
leebs
2021-12-24 00:04:16 +08:00
@Weny 这个只是介绍了下 ObjectId 是啥吧。。
edward1987
2021-12-24 10:33:53 +08:00
mongoose Schema 里面直接定义字段类型为 `mongoose.Types.ObjectId`
Weny
2021-12-24 10:34:08 +08:00
@leebs

JSON can only directly represent a subset of the types supported by BSON. To preserve type information, MongoDB adds the following extensions to the JSON format.

for ObjectID
```
{ "$oid": "<ObjectId bytes>" }
```

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

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

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

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

© 2021 V2EX