这是我的代码,无法处理这个问题。试图摆脱这个功能,但没有任何效果。 代码=>
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/