Я пытаюсь реализовать следующий запрос MongoDB в NodeJS.
db.tvseries.find({}).map(function(doc){
var userHasSubscribed = false;
doc.followers && doc.followers.forEach(function(follower) {
if(follower.$id == "abc") {
userHasSubscribed = true;
}
});
var followers = doc.followers && doc.followers.map(function(follower) {
var followerObj;
db[follower.$ref].find({
"_id" : follower.$id
}).map(function(userObj) {
followerObj = userObj;
});
return followerObj;
});
return {
"id": doc.name,
"userHasSubscribed": userHasSubscribed,
"followers": followers || []
};
})
Ниже приведена БД
коллекция пользователей
{
"id": ObjectId("abc"),
"name": "abc_name"
},
{
"id": ObjectId("def"),
"name": "def_name"
},
{
"id": ObjectId("ijk"),
"name": "ijk_name"
}
коллекция сериалов
{
"id": ObjectId("123"),
"name": "123_name",
"followers": [
{
"$ref": "users",
"$id": ObjectId("abc"),
},
{
"$ref": "users",
"$id": ObjectId("def"),
}
]
},
{
"id": ObjectId("456"),
"name": "456_name",
"followers": [
{
"$ref": "users",
"$id": ObjectId("ijk"),
},
]
},
{
"id": ObjectId("789"),
"name": "789_name"
}
Я не могу понять, как выполнить вышеуказанный запрос MongoDB в NodeJS с помощью node-mongodb -нативный плагин.
Я попробовал приведенный ниже код, но затем я получаю TypeError: undefined is not a function в .map.
var collection = db.collection('users');
collection.find({}).map(function(doc) {
console.log(doc);
});
Как выполнить функцию .map в NodeJS?
заранее спасибо