我使用mongoose和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);
});
在最后一个$或条目中,我认为我可以输入$和查询,选择最后十次测试运行。
测试运行的架构如下所示
const testRunSchema = mongoose.Schema({
isOpen: {
type: Boolean,
required: true,
},
isRunning: {
type: Boolean,
required: true,
},
hasError: {
type: Boolean,
required: true,
},
}, { timestamps: true });
答案 0 :(得分:0)
...
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);
});

上述添加应该有效,除非有关于Mongoose的具体内容