首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Node.JS & Mongoose -将项插入到数据库的数组中

Node.JS & Mongoose -将项插入到数据库的数组中
EN

Stack Overflow用户
提问于 2017-07-07 19:28:06
回答 2查看 679关注 0票数 0

我目前正在做一个项目,并且我坚持将一个项插入到数据库的数组/对象中。我想要做的是将一个“被提升的”帖子的id添加到“User”集合中的一个数组/列表中,但是,我似乎不能让它工作。

我的模式代码如下:

代码语言:javascript
运行
复制
// this is a child scheme/sub-document
var uvpSchema = new Schema();
uvpSchema.add({
  post: String
});

var dvpSchema = new Schema();
dvpSchema.add({
  post: String
 });

//main schema
var userSchema = new Schema({
    firstname: { type: String, required: true },
    lastname: { type: String, required: true },
    username: { type: String, required: true, unique: true },
    password: { type: String, required: true },
    upVotedPosts: [uvpSchema],
    downVotedPosts: [dvpSchema],
    created_at: Date,
});

下面是我的'routes.js‘中的代码,用于将帖子的id插入数组中:

代码语言:javascript
运行
复制
var newPush = {
        post: postID  // postID is a variable that I have already defined
    };
    User.findOneAndUpdate({username: req.session.user}, {$push: {upVotedPosts: newPush}}, {upsert: true, save: true}, (err, user) => {
        if (err) console.log(err);
        user.upVotedPosts.push(newPush);
        User.save;
        res.redirect(req.get('referer'));
        console.log(user.upVotedPosts);
    });

我在终端中收到的错误是:

代码语言:javascript
运行
复制
{ _id: 595f68b5fadd49105813f8a4 },{ _id: 595f693d3c2c21189004b0a7 },{ _id: 595f70a2df80e0252894551b }
events.js:163
      throw er; // Unhandled 'error' event
      ^

提前感谢;-)

EN

回答 2

Stack Overflow用户

发布于 2017-07-07 19:54:40

Route.js

代码语言:javascript
运行
复制
User.findOneAndUpdate({username: req.session.user}, {$push: {upVotedPosts: newPush}}, {upsert: true, save: true}, (err, user) => {
    if (err) console.log(err);
    user.upVotedPosts.push(newPush);
    User.save;
    res.redirect(req.get('referer'));
    console.log(user.upVotedPosts);
});

您不需要显式推送,因为您使用findOneandUpdate - $push进行推送

参考here

其次,its

代码语言:javascript
运行
复制
user.save() 

而不是

代码语言:javascript
运行
复制
User.save
票数 0
EN

Stack Overflow用户

发布于 2017-07-08 18:34:18

首先,我要感谢大家的帮助;-)

我终于设法让它部分工作了!我的问题是我的函数异步运行,导致了一些问题。我通过向每个mongoose函数添加回调函数解决了这个问题。

但是,仍然返回相同的错误,导致服务器崩溃。其他一切正常;新的项被添加到数组中。

有没有什么办法可以忽略这个错误,这样服务器就不会崩溃?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44969646

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档