Mongoose:我如何查询文档,如果找不到,如何创建文档,如果找到,如何不更新文档?

Mongoose:我如何查询文档,如果找不到,如何创建文档,如果找到,如何不更新文档?,mongoose,Mongoose,我的代码是: X.findOneAndUpdate( { 'x' : x, 'date' : { $gte : cutOffDate } }, { date : Date.now() }, //does not work since it will override existing dates { upsert : true } ); 我想在一个时间段内找到最近的X,如果没有找到X,创建一个并将时间设置为现在。但是如果我找到了一个X,不要更新时间。我该怎么做 在mo

我的代码是:

X.findOneAndUpdate(
{ 
    'x'    : x,
    'date' : { $gte : cutOffDate } 
},
{ date : Date.now() }, //does not work since it will override existing dates
{ upsert : true }
);
我想在一个时间段内找到最近的X,如果没有找到X,创建一个并将时间设置为现在。但是如果我找到了一个X,不要更新时间。我该怎么做

在mongoose模式中设置默认时间无效:

只有在upsert需要插入时,才可以使用指定要设置的字段:

X.findOneAndUpdate(
{ 
“x”:x,
'日期':{$gte:截止日期}
},
{$setOnInsert:{date:date.now()},
{upsert:true}
);

谢谢!这帮了大忙。