我使用猫鼬和MongoDb。测试运行将与其所处的当前状态一起保存。我想获得打开或正在运行的测试运行以及最近十个完成的测试运行。
如何实现这一点?
我现在的查询如下所示:
...
models.testRun.find()
.or([
{ isOpen: true },
{ isRunning: true },
{ $and: [{ isOpen: false }] } // missing statement to select 10 entries
])
.sort({
updatedAt: "descending"
})
.populate(populateQuery)
.exec((error, testRuns) => {
console.log(testRuns);
});
在最后一个$or条目中,我想我可以输入一个$and查询,该查询选择最后十次测试运行。
测试运行的架构如下所示
const testRunSchema = mongoose.Schema({
isOpen: {
type: Boolean,
required: true,
},
isRunning: {
type: Boolean,
required: true,
},
hasError: {
type: Boolean,
required: true,
},
}, { timestamps: true });
...
models.testRun.find()
.or([
{ isOpen: true },
{ isRunning: true },
{ $and: [{ isOpen: false }] } // missing statement to select 10 entries
])
.sort({
updatedAt: "descending"
}
.{ $limit : 10 })
.populate(populateQuery)
.exec((error, testRuns) => {
console.log(testRuns);
});
上面的添加应该有效,除非关于猫鼬的特定内容