javascript - 如何在创建另一个文档的同时在一个文档中创建字段?

标签 javascript mongodb mongoose

我有一个模型用户,其中包含徽章列表

badges: [{type:mongoose.Schema.Types.ObjectId, ref: 'badge'}]

在创建新徽章时,我想将此徽章添加到特定用户的徽章列表中

User.findById(id, function(err,user){
      user.badges.push(???)  ///// How to push the badge I'm creating
      user.save(..)
})    

如何做到这一点?

最佳答案

在推送到 user.badges 之前,您必须保存徽章。 Mongodb 自动设置徽章._id 属性。

var badge = new Badge(...);
badge.save().then(badge=>{
    user.badges.push(badge._id);
    user.save;
});

关于javascript - 如何在创建另一个文档的同时在一个文档中创建字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44113538/

相关文章:

javascript - 用于查找重复出现的多个非数字字符的正则表达式模式

javascript - 如何使用modalDialog显示适用于所有浏览器的弹出窗口

java - MongoDB Java驱动程序读取结果时无限循环

javascript - 如何在 Mongoose 中保存一个objectID数组并添加字段?

javascript - 在类方法中使用 Promise

mongodb - 将文件夹存储在 fs.files 集合中

node.js - 计算指定记录之前匹配条件的记录数

node.js - 如何将 websocket 放入数据库(mongoDB/mongoose)?

javascript - 在引用另一个模式的 MongoDB 模式上创建文本索引

javascript - 将 xml 请求转换为具有重复节点名称的 json 请求