我在 Node.js 服务器上使用 Mongoose 将数据保存到 MongoDB。我想要做的是检查集合中是否已经存在模型对象。
例如继承人我的模型:
var ApiRequest = new Schema({
route: String,
priority: String,
maxResponseAge: String,
status: String,
request: Schema.Types.Mixed,
timestamp: { type: Date, default: Date.now }
});
这就是我想做的事情:
var Request = mongoose.model('api-request', ApiRequest);
function newRequest(req, type) {
return new Request({
'route' : req.route.path,
'priority' : req.body.priority,
'maxResponseAge' : req.body.maxResponseAge,
'request' : getRequestByType(req, type)
});
}
function main(req, type, callback) {
var tempReq = newRequest(req, type);
Request.findOne(tempReq, '', function (err, foundRequest) {
// Bla bla whatever
callback(err, foundRequest);
});
}
我发现的大问题是 tempReq 是一个模型,它有一个 _id 变量和一个时间戳,它将与数据库中保存的不同。因此,我想忽略这些字段并通过其他所有内容进行比较。
请注意,我的实际模型比这有更多的变量,因此我不想使用 .find({ param : val, ....})..... 而是想将现有模型用于比较。
有任何想法吗?谢谢!