猫鼬创建 __v 字段而不是日期字段
Mongoose creating __v field instead of date field
我有这个型号:
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)
从搜索查询中取消它
我有这个型号:
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)