Поиск по критериям в subArray и получение результата с помощью nodeJS и NeDb
Я разочарован в течение двух дней, потому что я новичок в nodeJS и JSon. с моим плохим английским, у меня есть случай для поиска данных в подданных, и положить результат в браузере. это мой код:
var doc = [{
"name": "yadi",
"hobby": [{
"home": "watch news",
"bed_room": "read comics"
}, {
"home": "watch ufc",
"bed_room": "eat candy"
}]
},
"name": "dony",
"hobby": [{
"home": "sleep",
"bed_room": "eat dog food"
}, {
"home": "watch disney",
"bed_room": "breathing"
}]
}];
var db = new Nedb();db.insert(doc, function(err, newDoc) {
console.log(JSON.stringify(newDoc, null, ' '));
//search data
db.find({
"name": "yadi"
}, {
"hobby": {
$elemMatch: {
"home": "watch news"
}
}
}, function(err, docs) {
console.log ("RESULT "+JSON.stringify(docs, null, ' '));
})
})
Как я могу получить данные с этим результатом?
"hobby": [{
"home": "watch news",
"bed_room": "read comics"
}]
1 ответ
Следующее должно работать. Вы в основном не много пропускаете, за исключением некоторых скобок здесь и там, и "_id": 0
в проекции.
var doc = [{
"name": "yadi",
"hobby": [{
"home": "watch news",
"bed_room": "read comics"
}, {
"home": "watch ufc",
"bed_room": "eat candy"
}]
}, {
"name": "dony",
"hobby": [{
"home": "sleep",
"bed_room": "eat dog food"
}, {
"home": "watch disney",
"bed_room": "breathing"
}]
}];
var db = new Nedb();
db.insert(doc, function(err, newDoc) {
console.log(JSON.stringify(newDoc, null, ' '));
});
//search data
db.find({
"name": "yadi"
}, {
"_id": 0, // exclude _id
"hobby": {
$elemMatch: {
"home": "watch news"
}
}
}, function(err, docs) {
console.log ("RESULT "+JSON.stringify(docs, null, ' '));
});