微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Mongoose 创建 __v 字段而不是日期字段

如何解决Mongoose 创建 __v 字段而不是日期字段

我有这个模型:

const mongoose = require("mongoose");
const Schema = mongoose.Schema;

const ModelNameSchema = new Schema({
  user: {
    type: Schema.Types.ObjectId,ref: "users",},date: {
    type: Date,dafault: Date.Now,});

module.exports = ModelName = mongoose.model(
  "model_name",ModelNameSchema
);

我尝试使用此创建文档:

const saveDocument = function saveDocument(user_id) {
  const document_data = {
    user: user_id,};
  const new_document = new ModelName(document_data);
  const document = new_document.save();
  return document;
};

出于某种奇怪的原因,它没有创建日期字段,而是创建了 __v 字段。
这是我创建的两个文档的示例:

[
    {
        "_id": "60eb01a29e84151343183f4d","__v": 0
    },{
        "_id": "60eb03ccc465491984b3bf99","__v": 0
    }
]

知道这里发生了什么吗?

解决方法

在您的架构中,您输入了 d**a**fault 而不是默认值

__v 只是文档的版本号,因此您可以使用 .select(-__v)

从搜索查询中否定它

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。