如何通过mongoose更新嵌套MongoDB对象中的数据?

如何通过mongoose更新嵌套MongoDB对象中的数据?,mongodb,mongoose,Mongodb,Mongoose,我的MongoDB数据库中有此用户模型架构: { "fullname": "my name", "topics": [ { "name": "city", "data": null, "subset":[ { "name": "tempreture", "d

我的MongoDB数据库中有此用户模型架构:

{
    "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);