如何通过mongoose更新嵌套MongoDB对象中的数据?
我的MongoDB数据库中有此用户模型架构:如何通过mongoose更新嵌套MongoDB对象中的数据?,mongodb,mongoose,Mongodb,Mongoose,我的MongoDB数据库中有此用户模型架构: { "fullname": "my name", "topics": [ { "name": "city", "data": null, "subset":[ { "name": "tempreture", "d
{
"fullname": "my name",
"topics": [
{
"name": "city",
"data": null,
"subset":[
{
"name": "tempreture",
"data": null,
"subset": null
},
{
"name": "contamination",
"data": null,
"subset": null
}
]
}]
}
我需要mongoose提供一个解决方案来更新数据,其中名称:“污染物”来自这样的URL:myname/city/inclution
编辑:
这是我的用户模型(user.js):
你能展示你的用户模式吗?使用字段及其数据类型。@RaviShankar是的,我添加了我的整个user.js(我的用户模式)您能从URL获取我的姓名、城市和污染物吗?
user
如何保存在您的Mongo DB
中?topics
是ObjectID
的数组吗?实际上,我并没有通过这个模式添加我的用户,而是直接从Rockmongo添加的。
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var userSchema = Schema({
fullname: String,
email: String,
username: String,
password: String,
active: Boolean,
activator: String,
topics: [{ type: Object, ref: 'Topic' }],
clients: [{ type: Object, ref: 'Client' }]
});
var topicSchema = Schema({
name : String,
data : Array,
subset : [{ type: Object, ref: 'Topic' }]
});
var clientSchema = Schema({
name : String,
password : String,
permissions : [{ type: Object, ref: 'Permission' }]
});
var permissionSchema = Schema({
topic : String,
read : Boolean,
write : Boolean
});
var Permission = mongoose.model('Permission', permissionSchema);
var Client = mongoose.model('Client', clientSchema);
var Topic = mongoose.model('Topic', topicSchema);
module.exports = mongoose.model('User', userSchema);