我读了一个Mongo集合,我想得到最后一项的价值。我做了一个方法从最旧到最新(stackoverflow question)进行排序,只采取第一项,但我无法得到他的价值。
这是我在集合中插入数据的代码:
'container.start': function(id) {
var ctn = docker.getContainer(id);
ctn.start(Meteor.bindEnvironment(function(err, data) {
if(err){
ErrorsContainer.upsert({
}, {
error: err
});
console.log(err);
}else{
console.log(data);
}
}));
}
然后是我读取集合的代码:
'click .start'(event) {
const idDB = this._id
const container = InfosContainers.findOne({_id: idDB});
const name = container["nameContainer"];
const idContainer = container["idContainer"];
console.log("the container: " + name + " is going to be started. His id is: " + idContainer);
Meteor.call("container.start",idContainer);
//get the last error
var error = ErrorsContainer.find({}, {sort: {_id: 1, limit: 1}});
if(error){
alert(error[error]); //tried error.error too
}
}
那我怎么能得到集合错误的值?
答案 0 :(得分:0)
问题是,集合的错误包含其他内容,我不得不这样做:
var lastError = ErrorsContainer.findOne({}, {sort: {_id: 1}});
console.log(lastError.error.message);
答案 1 :(得分:0)
DO
{ sort: { created : -1 } }
其中created是文档的创建时间 -1表示在DEC ordre中排序(1表示按INC顺序排序)