我的monongodb模式如下:
let statSchema = new mongoose.Schema({
title: String,
statId: String,
stats: {
likeCount: Number,
commentCount: Number
}
});
let MyStat = mongoose.model("MyStat", statSchema);
我正在寻找一种方法,可以从数据库中获取所有statId
元素并将它们放在数组中。
稍后,我想使用request
(npm请求)遍历该数组,该数组将使用statId
并从API请求JSON,该JSON将更新所有stats
(likeCount和commentCount)每个对应的statId
。
如果我在下面使用此代码:
MyStat.find({}, function(err, foundStats){
if (err) throw err;
console.log(foundStats);
});
它将记录我数据库中的所有元素,但我不知道如何仅访问'statId'。
我尝试使用console.log(foundStats.linkId);
,但返回undefined
。
答案 0 :(得分:1)
foundStats是一个需要在其中循环的数组。
foundStats.forEach((element) => {
console.log(element.statId);
});
如果要返回statId,请仅按以下方式使用它:
MyStat.find({}, 'statId' , function(err, foundStats){
if (err) throw err;
console.log(foundStats);
});
请参阅文档here
答案 1 :(得分:0)
您的statId存储为“ _id”。因此,如果您未明确更改或设置ID字段,则将在“ _id”中找到对象ID字段。
在这种情况下,您可以使用
MyStat.find({}, '_id', function(err, foundStats){
if (err) throw err;
console.log(foundStats);
});
在“ foundStats”中,您会找到所有统计信息的ID。
有关更多信息,请检查enter image description here,mongoose