如何从函数查询node.js中的mongoDB?
连接和查询mongodb数据库的函数(根据节点的性质,我假设大多数类型的数据库)都是非阻塞的。我如何编写一个函数来获取JSON对象中的查询结果?该函数应该管理查询和块,直到返回查询为止 基本上,我希望能够做到以下几点:如何从函数查询node.js中的mongoDB?,node.js,mongodb,asynchronous,database,Node.js,Mongodb,Asynchronous,Database,连接和查询mongodb数据库的函数(根据节点的性质,我假设大多数类型的数据库)都是非阻塞的。我如何编写一个函数来获取JSON对象中的查询结果?该函数应该管理查询和块,直到返回查询为止 基本上,我希望能够做到以下几点: http.createServer(function(request,response){ var searchQuery = parseQueryFromUrl(request.url); var searchResults=queryDatabase(searc
http.createServer(function(request,response){
var searchQuery = parseQueryFromUrl(request.url);
var searchResults=queryDatabase(searchQuery);
var document = renderFile(fileTemplate,searchResults);
response.writeHead(200);
response.write(document);
response.end();
});
这可能吗?从手机上书写,这里是“快速回答”,我回家后会编辑:
router.get('/search/*', function(req, res, term){
res.writeHead(200, {'Content Type:':'text/plain'});
var db = new mongo.Db('dbname', server);
db.open(function(err, db){
db.createCollection("collection_name", function(err, collection){
db.collection('foo').find({'a':term}).toArray(function(err, items){
console.log(items);
});
});
});
});
这里有更多关于查询的信息:谢谢!但是我试图将整个db.open(…)函数放在另一个函数中,以添加一些抽象,保持代码更干净。这可能吗?你能编辑你的问题并展示你到目前为止有什么吗?是的,这是有可能的。这已经被问过/回答过很多次了。什么不合理?节点是异步的,所以您需要使用回调,或者像Mongoose这样的对象层,它也可以公开承诺。