Я новичок в mongoDB, и мне было интересно, возможно ли следующее.Объединение двух разных коллекций в форме mongoDB в Node Js
У меня есть два разных коллекции в той же таблице Монго дб - называется jobs
и nodes
и это то, что они выглядят как:
function testing() {
nodes.find(function(err, data) {
if (err) {
console.log(err)
} else {
console.log('NODES RETURNED: ', data)
jobs.find(function(err, post) {
if (err) {
console.log(err)
} else {
console.log('JOBS RETURNED: ', post)
}
});
}
});
}
который возвращает следующее:
JOBS RETURNED: [ { _id: '5899999354d59',
job_url: 'http://222.22.22.22:2222/jobs',
progress: 0,
queue: 0 },
{ _id: '5899b7d054da96',
job_url: 'http://111.11.1.111:1111/jobs',
progress: 0,
queue: 0 } ]
CLUSTER NODESS RETURNED: [ { _id: '58a9a4805c1f',
node_url: 'http://222.22.22.22:2222/nodes',
cpu: 40 },
{ _id: '58999a9a4805c23',
node_url: 'http://111.11.1.111:1111/nodes',
average_cpu: 15 } ]
Так как вы можно видеть, что две разные коллекции имеют по два документа каждый, и они могут связываться с помощью job_url и node_url, например 222.22.22.22:2222
Можно мне присоединиться документы вместе на этой основе, так что конечный результат будет что-то вроде этого:
[ { _id: '58a9a4805c1f',
node_url: 'http://222.22.22.22:2222/nodes',
job_url: 'http://222.22.22.22:2222/jobs',
progress: 0,
queue: 0 },
cpu: 40 },
{ _id: '58999a9a4805c23',
node_url: 'http://111.11.1.111:1111/nodes',
job_url: 'http://111.11.1.111:1111/jobs',
progress: 0,
queue: 0,
average_cpu: 15 }
Любые помощь/советы будут очень благодарны!
Если вы спрашиваете, можете ли вы сделать это прямо в 'MongoDB', нет. Но вы можете сделать это в «Узде». Проверьте http://stackoverflow.com/questions/35903850/combine-json-arrays-by-key-javascript –