Javascript 在node.js中处理数据库查询

Javascript 在node.js中处理数据库查询,javascript,node.js,Javascript,Node.js,从数据库查询中检索信息后,处理信息的正确方法是什么 假设下面的示例中dataObj只是一个js对象,其中包含一个字段name(已定义),那么这就是我在node.js中处理数据的方式吗 编辑: 忘了提到我当然不能返回数据对象,因为这是一个异步调用 function processData(dataObj){ if(dataObj.name == "CS"){ console.log("true"); } } function getData(anon) v

从数据库查询中检索信息后,处理信息的正确方法是什么

假设下面的示例中dataObj只是一个js对象,其中包含一个字段name(已定义),那么这就是我在node.js中处理数据的方式吗

编辑:

忘了提到我当然不能返回数据对象,因为这是一个异步调用

function processData(dataObj){
    if(dataObj.name == "CS"){
        console.log("true");
    }
}

function getData(anon)
    var dat = .... sql query that works and its an object now that works correctly...
    anon(dat);
}

getData(processData);

NodeJS的优势之一是流式支持。我希望一个合适的SQL驱动程序每次给我一行。如果我愿意,我可以收集所有的行,但大多数时候我不希望所有的行都在内存中。相反,我会将它们一个一个地流式传输给消费者

我喜欢的DB代码看起来像

var db = require('<somedriver>');
var sqlStatement = ".... sql query that works and its an object now that works correctly...";

var query = db.execute(sqlStatement);

query.on('row', function (row) {
  // Do something with a row object...
  console.log("This is a row", row);
});

query.on('done', function (err, rowcount) {
  if (err) { throw err; } // or do something else...
  console.log("Number of rows received", rowcount)
});
var db=require(“”);
var sqlStatement=“…..有效的sql查询及其对象现在可以正常工作…”;
var query=db.execute(sqlStatement);
query.on('row',函数(row){
//对行对象执行某些操作。。。
log(“这是一行”,行);
});
on('done',函数(err,rowcount){
如果(err){throw err;}//或执行其他操作。。。
log(“收到的行数”,行计数)
});

希望这有帮助

以下是我正在使用mongoose编写的一些代码片段:

    var db = mongoose.createConnection(uristring)
    , mongoose = require('mongoose');

    db.once('open', function(){

    var recipientSchema = mongoose.Schema({
            username: String,
            recipientEmail: String
    });

    var Recipient = db.model('Recipient', recipientSchema);
    Recipient.find( {username: user }, function(err, recipients){   
      res.json(recipients);
    })
 })

希望有帮助

你在使用什么数据库?它提供了什么API?