首页 > 解决方案 > 将未在请求正文中传递的字段存储到 mongodb 为 null 或空(集合使用 mongoose 模式定义)

问题描述

以下是我的架构:

var BookSchema = new Schema({
    title: String,
    author: String,
    category: String,
    },{
    versionKey: false 
});

当我通过删除如下所示的任何字段(类别已删除)来发布数据时:

{
  "title":"Book1",
  "author":"abc"
}

我的实际 POST 响应是:

{
  "_id": "5d47cbe70d7cae1e847a00f0",
  "title": "Book1",
  "author": "abc"
}

我希望响应应该是这样的:

  {
      "_id": "5d47cbe70d7cae1e847a00f0",
      "title": "Book1",
      "author": "abc",
      "category":""
    }

如何使用猫鼬模式在nodejs中实现这一点?

标签: node.jsmongodbmongoosemongoose-schemamongoose-populate

解决方案


添加到@Ravi 的答案,使用默认值更改架构将根据需要返回

var BookSchema = new Schema({
title: {type: String, default: ""}
author: {type: String, default: ""}
category: {type: String, default: ""},
},{
versionKey: false 
});

推荐阅读