我希望在活动日志(log)的细节中有一个嵌套对象.看看这个例子.如何在mongoose中定义模式?

activity: {
    date: '1/1/2012' ,
    user: 'benbittly', 
    action: 'newIdea', 
    detail: {
        'title': 'how to nest'
        , 'url': '/path/to/idea'
    }

activity: {
    date: '1/2/2012' ,
    user: 'susyq', 
    action: 'editProfile', 
    detail: {
        'displayName': 'Susan Q'
        , 'profileImageSize': '32'
        , 'profileImage': '/path/to/image'
    }

推荐答案

使用Mixed类型,可以在示例中存储任意子对象.

var Activity = new Schema({
    date : Date
  , user : String 
  , action : String
  , detail : Mixed
})

Mongodb相关问答推荐

如何拉平mongo DB中的对象并在根目录中保存时有条件地重命名字段?

查找/查找单个深度嵌套文档的多个集合

MongoDB中的字符串聚合

Mongoose updateMany 以及 Where 和 orWhere?

使用golang的MongoDB错误无法访问服务器

Mongoose 更新不同类型的记录

mongoDB vs mySQL - 为什么在某些方面比另一个更好

在 DBeaver 中连接到 Redis 或 MongoDB

MongoDB C# 驱动程序 - 如何将 _id 存储为 ObjectId 但映射到字符串 Id 属性?

MongoDB:按标签获取文档

带有 mongodb 和 nodejs 的实时 Web 应用程序

如何更新 mongodb 文档以向数组添加新元素?

从性能Angular 来看 MongoDB 嵌入式与参考

无法从 javascript 打印 BSON 对象

MongoDB Java API:put() 与 append()

mongodb:upserting:仅在插入文档时设置值

一起使用 MongoDB 和 Neo4j

MongoDB如何判断是否存在

MongoDB备份计划

验证 MongoCredential 的异常和未分类的 Mongo Db 异常