所以我在MongoDB集合中有一个String数组字段,我想添加一个ObjectId的String。它被添加,但是被保存为一个ObjectId而不是一个String。
users_collection.update_one({
"_id": ObjectId(user['_id'])
}, {
"$push": {
"profile.surveys.completedInTimeSurveyIDs": "5dc71ee34283e125a9edc96b"
}
})
哪个总是在收集文档中另存为:
但是我希望它是:
类似,您已经在框架中定义了一个架构,并且框架知道路径所引用的值的类型(此处profile.surveys.completedInTimeSurveyIDs.$
应该被指定为oid
,因此字符串也照此转换)]
替代品是:
我建议您进行后者(如果要聚合,查找,甚至填充或涉及数组元素的任何其他工作,则可能需要一个ObjectId)