我有一个集合,文件的ID设置为MongoDb Object Ids(因此在数据库中显示为:
Collection1
"someId": {
"$oid": "5003cb802e28076412000001"
},
Run Code Online (Sandbox Code Playgroud)
在另一个集合中,我引用了这些.但有时这些引用似乎存储为正确的oid:
Collection 2
"someForiegnId": {
"$oid": "5003cb802e28076412000001"
},
Run Code Online (Sandbox Code Playgroud)
但有时候他们把它作为普通字符串放入数据库.
Collection 2
"someForiegnId": "5003cb802e28076412000001",
Run Code Online (Sandbox Code Playgroud)
我的问题是 - 以oid格式存储这些外来引用是否很重要,或者它们只是字符串?
我知道我正在回答一个 1 年前的问题,但仍然如此。
始终希望数据库保持一致。无论您如何存储数据(例如将 IP 地址作为字符串、"87.123.12.12"数组[87, 123, 12, 12]或数字1467681804),它都应该始终以相同的方式存储。数据也是如此:您必须选择一种格式并坚持使用。
您选择的格式会影响您将使用多少存储空间以及查询数据的速度。最好的方法是将它们存储为 ObjectID,原因如下:
因此,即使我只有字符串表示形式 - 我也会更改为 ObjectID(),在您的情况下,这绝对值得切换(我知道您很可能已经这样做了)。
PS 您可以通过修改以下答案中的查询来修改该字段。
| 归档时间: |
|
| 查看次数: |
2707 次 |
| 最近记录: |