我正在尝试在MongoDB中的文档中插入一个新字段,但在查询后数据库没有更改。 这是我的数据库的单个元素:
{
"_id" : ObjectId("5a9f5f4bb9ba6117b5551f7d"),
"userId" : "user123",
"name" : "Device zm3",
"category" : [
"pm10",
"pm25",
"temperature"
],
"__v" : 0}
我希望有这样的东西:
{
"_id" : ObjectId("5a9f5f4bb9ba6117b5551f7d"),
"userId" : "user123",
"name" : "Device zm3",
"category" : [
"pm10",
"pm25",
"temperature"
],
"data": 5
"__v" : 0}
我使用此查询:
Device.update({
'userId': 'user123'
}, {
$set: {
'data': 5
}
}, {
upsert: true,
}
我正在尝试使用已存在于数据库中的字段,例如“名称”或“类别”,在这种情况下,解决方案可以正常工作。
答案 0 :(得分:2)
如果您要使用Mongoose添加字段,它也应该在您的Mongoose架构中。因此,如果要使用Mongoose,则必须向设备架构添加“数据”。这就是为什么已经在对象/模式中的字段(如“名称”或“类别”)可以工作但新的字段不起作用。