ここでの最初の質問なので、うまくいけば私はこれを正しく行います...
私がやろうとしていることの冗談は、クエリ内のリストに追加し、node.jsからこのリストをクライアントに渡すことができるようにすることです。私のコード(簡略化)は次のとおりです。
socket.on('get_new', function() {
var db = require('mongojs').connect('test', ['col1']);
var db2 = require('mongojs').connect('test', ['col2']);
db.col1.find( function(err, tups) {
var total = [];
if ( err || !rows ) { console.log("error") };
else {
for(row in tups){
var id = row['id'];
db2.col2.find({name:id}, function(foo, bar){
if ( foo || !bar ) { console.log("error") };
else {
total += { name : bar['age'] };
console.log(total); //prints [ {alex:'20'}]
}
}
}
}
console.log(total); // prints []
}
}
コードで示したように、値を確認するためにいくつかのconsole.logステートメントを配置しましたが、クエリ内と後では異なります。このコードのスコープと関係があるのではないかと思いますdb.test2.find
。実行後、内部で起こったことは外部には存在しないように見えますが、理由はわかりません。前もって感謝します!