nodejs 向mongodB获取指定数目的数据
2013-05-03 22:29
246 查看
nodejs 向mongodB获取指定数目的数据
原理:通过向nodejs服务器端发送请求,nodejs 收到请求向mongodB读取五条数据,在控制台中打印出来:
nodejs段代码(新建一个文件server.js将以下代码复制其中):
var http = require("http");
var url = require("url");
var MongoClient = require('mongodb').MongoClient;
var i = 0;
var k = 5;
var flag=0;
http.createServer(function(request, response) {
if(flag == 0){
MongoClient.connect("mongodb://localhost:27017/test", function(err, db){
if(err) { return console.dir(err); }
var collection = db.collection('test');
for(i;i<k;i++){
collection.findOne(null, { skip: i }, function(err, item){
console.log(item);
});
}
k += 5;
});
response.writeHead(200, {"Content-Type": "text/plain"});
response.write("Hello World" + i);
response.end();
flag =1
console.log('---------------------------');
}else if(flag == 1){
flag = 0;
response.writeHead(200, {"Content-Type": "text/plain"});
response.write("Hello World" + i);
response.end();
}
}).listen(8888)
现在打开浏览器,输入以下地址:http://localhost:8888/ 如下图:
回车,查看命令行答应的日志:
可以看到前面五条数据已经获取了,刷新以下浏览器:
第六至十条数据意已经获取了。
注意,这个实验首先要创建一个有数据的数据库
以上方法可以是一个实验,但那样写并不好,但是却能给我们一些启发:
接下来还有一种方法,此方法采用 Mongoskin 模块(通过 npm install mongoskin 来获取此模块),代码如下:
var http = require("http");
var url = require("url");
var mongo = require("mongoskin");
var flag = 0;
var i=0;
http.createServer(function(request, response) {
if(flag == 0){
mongo.db('localhost:27017/test').collection('test').find({},{limit: 5,skip :i*5}).toArray(function (err, items) {
console.dir(items);
})
response.writeHead(200, {"Content-Type": "text/plain"});
response.write("Hello World");
response.end();
flag = 1;
}else if(flag == 1){
response.writeHead(200, {"Content-Type": "text/plain"});
response.write("Hello World");
response.end();
flag = 0;
i++;
}
}).listen(8888)
代开浏览器输入地址:http://localhost:8888/ 运行结果:
刷新:
第六至十条数据出来了。
mongoskin参考地址:
https://github.com/kissjs/node-mongoskin#quickstart-1
https://github.com/christkv/node-mongodb-native/blob/master/docs/queries.md
http://stackoverflow.com/questions/10929443/nodejs-mongodb-getting-data-from-collection-with-findone
原理:通过向nodejs服务器端发送请求,nodejs 收到请求向mongodB读取五条数据,在控制台中打印出来:
nodejs段代码(新建一个文件server.js将以下代码复制其中):
var http = require("http");
var url = require("url");
var MongoClient = require('mongodb').MongoClient;
var i = 0;
var k = 5;
var flag=0;
http.createServer(function(request, response) {
if(flag == 0){
MongoClient.connect("mongodb://localhost:27017/test", function(err, db){
if(err) { return console.dir(err); }
var collection = db.collection('test');
for(i;i<k;i++){
collection.findOne(null, { skip: i }, function(err, item){
console.log(item);
});
}
k += 5;
});
response.writeHead(200, {"Content-Type": "text/plain"});
response.write("Hello World" + i);
response.end();
flag =1
console.log('---------------------------');
}else if(flag == 1){
flag = 0;
response.writeHead(200, {"Content-Type": "text/plain"});
response.write("Hello World" + i);
response.end();
}
}).listen(8888)
现在打开浏览器,输入以下地址:http://localhost:8888/ 如下图:
回车,查看命令行答应的日志:
可以看到前面五条数据已经获取了,刷新以下浏览器:
第六至十条数据意已经获取了。
注意,这个实验首先要创建一个有数据的数据库
以上方法可以是一个实验,但那样写并不好,但是却能给我们一些启发:
接下来还有一种方法,此方法采用 Mongoskin 模块(通过 npm install mongoskin 来获取此模块),代码如下:
var http = require("http");
var url = require("url");
var mongo = require("mongoskin");
var flag = 0;
var i=0;
http.createServer(function(request, response) {
if(flag == 0){
mongo.db('localhost:27017/test').collection('test').find({},{limit: 5,skip :i*5}).toArray(function (err, items) {
console.dir(items);
})
response.writeHead(200, {"Content-Type": "text/plain"});
response.write("Hello World");
response.end();
flag = 1;
}else if(flag == 1){
response.writeHead(200, {"Content-Type": "text/plain"});
response.write("Hello World");
response.end();
flag = 0;
i++;
}
}).listen(8888)
代开浏览器输入地址:http://localhost:8888/ 运行结果:
刷新:
第六至十条数据出来了。
mongoskin参考地址:
https://github.com/kissjs/node-mongoskin#quickstart-1
https://github.com/christkv/node-mongodb-native/blob/master/docs/queries.md
http://stackoverflow.com/questions/10929443/nodejs-mongodb-getting-data-from-collection-with-findone
相关文章推荐
- nodejs使用mongoose 获取mongodb 数据格式化问题
- java 获取nodejs端Gson数据案例(请求MongoDB)
- mongodb从内嵌数据对象中获取指定元素
- nodejs 通过 get获取数据修改redis数据
- oracle中从指定日期中获取月份或者部分数据
- sql 根据指定条件获取一个字段批量获取数据插入另外一张表字段中+MD5加密
- SQL Server获取指定行(如第二行)的数据
- 各数据库查询指定数目数据
- spring redis获取指定key中链表的所有数据
- 从数据库中返回的数据结果中获取指定数据
- XMPP框架 微信项目开发之Socket聊天室发送数据——获取键盘高度,修改控件的约束值,代码滚动UITabView到指定位置
- 按指定排列顺序获取数据的sql语句
- 使用正则表达式,从网站上获取指定数据
- 通过nodejs插入删除MongoDB数据
- thinkphp循环数据到页面时,jquery$(this)动态获取指定元素的数据
- springboot通过Morphia获取mongoDB数据
- mysql动态添加和获取指定json数据
- C编程获取指定网卡网络数据包并分析(附C语言源码)
- Nodejs 实现爬虫的改造:Promise优化、动态页面数据的获取、多个页面并发爬取
- Django Model获取指定列的数据