我有一个mongoose架构,看起来像这样:
"datetime": {"type": Date}
"sequence": {"type": Number}
"extra": {"type": mongoose.Schema.Types.Mixed}
由于某种原因,我的模型中的“额外”键是将键值对的字典处理为字符串数组,其中每个字符串都是字典中的键。例如,以下数据:
{
"datetime": new Date(),
"sequence": 10,
"extra": {"val1": 5, "val2": "hello"}
}
按如下方式处理:
{
"datetime": [Date object]
"sequence": 10,
"extra": ["val1", "val2"]
}
此数据正在填充Python,“额外”字段作为Python字典提供。然后,整个数据集通过requests模块转发到REST API。这个“额外”字段的内容可能会有很大差异,这就是我在模型中将其定义为“混合”的原因。
有谁知道为什么mongoose会以这种方式解析这个字段?
答案 0 :(得分:0)
我认为我的问题与request的可选数据/ json参数之间的差异有关。我正在使用:
request.post(url, myDictionary)
默认为数据键,当我应该使用时:
request.post(url, json=myDictionary)
当然,问题在于这里的Python日期时间对象无法序列化,所以我只是使用了time.time()。
关于我的mongoose模式,“extra”字段没有定义的模式,因此数据只是“按原样”提供。
希望这对某人在某些时候遇到类似问题非常有用。