【发布时间】:2018-01-16 20:04:17
【问题描述】:
我是 mongodb 的新手,我对使用 jessenger 的 laravel 有以下问题。 我有这个集合结构的
{
"_id": "597a1e5db7893325c3557152",
"name": "Idalio",
"age": "20",
"created_at":"2017-07-27 04:00:01",
"updated_at":"2017-07-27 17:09:49",
"child": [{
"name": "childName",
"age": "5",
"_id": {
"$oid": "597a1e5db7893325c3557153"
},
"created_at": {
"$date": {
"$numberLong": "1501175389000"
}
},
"updated_at": {
"$date": {
"$numberLong": "1501175389000"
}
}
}]
}
在嵌套的子级“_id”、“created_at”和“updated_at”中,这些属性的格式与父级不同。我所需要的只是孩子与父母具有相同的格式,因为这些数据必须从旧 PDA 中读取,而这些数据不支持这种格式......在我的模型中,我有以下内容
public function child(){
return $this->embedsMany('App\Models\Child');
}
最后在 mongodb 中,父子日期和“_id”格式相同。我不知道为什么子对象带有这些格式。有人可以帮我解决这个问题吗? :)
【问题讨论】:
-
事实上,这里的“子”条目实际上是正确格式并使用本机类型,而您的“父”条目不正确 并且正在“字符串化”实际上“应该”存储为 BSON 类型的值。所以真的是这里需要修复的“父母”。字符串不适合这种数据,因为它们有局限性并且需要更多的存储空间。
-
好的,我明白了,你是对的。但我需要孩子不仅有日期的父格式,因为它们必须从不支持子格式的旧设备中读取
-
算不上什么借口。提出“我想打破新代码并坚持旧代码的问题”通常没有那么有成效。它可能会检查敏捷板上的任务,但它实际上只是增加了以后要做的工作。最好提出问题并解决现有问题。
-
这不是借口。对于 Windows ce 3.5 设备极其有限,必须阅读此内容。我不能改变它,因为不依赖于 mi。我会使用 android 设备而不是那样,但不能那样。因此,更好的方法是更改 json 格式。