javascript - TypeError : user. 保存不是函数 [mongoose]

标签 javascript mongodb mongoose

这是我的代码,无法处理这个问题。试图摆脱这个功能,但没有任何效果。 代码=>

var mongoose = require("mongoose");
mongoose.connect("mongodb://localhost:27017/blog_demo_2", {useNewUrlParser: true});

//post - content, title

var postSchema = new mongoose.Schema({
   title: String,
   content: String
});

var postModel = mongoose.model("Post", postSchema);

//user - email, name
var userSchema = new mongoose.Schema({
    email: String,
    name: String,
    posts: [
        {
            type: mongoose.Schema.Types.ObjectId,
            ref: "Post"
        }
    ]
});

var User = mongoose.model("User", userSchema);

这是问题函数,不明白是什么原因导致错误。我认为这是 postModel 的问题,但不是:

postModel.create({
    title: "How to be fat like Andjelka Kozakivnayadura",
    content: "Eat burgers, pizzas, and Coke Cole bittcheeies"
}, function(err, post){
    if (err){
        console.log(err);
    } else {
        User.find({email: "gangbit@protonmail.com"}, function(err, user){
           if (err){
               console.log(err);
           } else {
               user.posts = user.posts || [];
               user.posts.push(post);
               user.save(function(err, data){
                   if (err){
                       console.log(err);
                   } else {
                       console.log(data);
                   }
               });
           }
        });
    }
});

最佳答案

User.find({email: "gangbit@protonmail.com"}, function(err, user){

返回用户数组,而不是单个用户。

您需要findOne

下次,console.log(user)

关于javascript - TypeError : user. 保存不是函数 [mongoose],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56656892/

相关文章:

javascript - 为什么这个正则表达式必须用括号括起来才能匹配?

javascript - “for”循环未正确循环对象数组

javascript - 如何在mongoDb中找到一个字段的最长和最短长度?

node.js - Mongoose 模式递归

node.js - 如何将 mongodb 查询拆分为结果页

node.js - Mongoose 删除文档引用

javascript - $.mobile.changePage 在多页中无法正常工作

javascript - 如何使用 javascript 对 HTML 表单进行实时更新

mongodb - 如何在 Mongoose 中获取收藏列表?

mongodb - MongoDB 上下文中的 'upsert' 是什么?