nodejs 向mongodB获取指定数目的数据
nodejs 向mongodB獲取指定數(shù)目的數(shù)據(jù)
原理:通過(guò)向nodejs服務(wù)器端發(fā)送請(qǐng)求,nodejs 收到請(qǐng)求向mongodB讀取五條數(shù)據(jù),在控制臺(tái)中打印出來(lái):
nodejs段代碼(新建一個(gè)文件server.js將以下代碼復(fù)制其中):
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)
現(xiàn)在打開(kāi)瀏覽器,輸入以下地址:http://localhost:8888/? ? ? 如下圖:
回車,查看命令行答應(yīng)的日志:
可以看到前面五條數(shù)據(jù)已經(jīng)獲取了,刷新以下瀏覽器:
第六至十條數(shù)據(jù)意已經(jīng)獲取了。
注意,這個(gè)實(shí)驗(yàn)首先要?jiǎng)?chuàng)建一個(gè)有數(shù)據(jù)的數(shù)據(jù)庫(kù)
以上方法可以是一個(gè)實(shí)驗(yàn),但那樣寫(xiě)并不好,但是卻能給我們一些啟發(fā):
接下來(lái)還有一種方法,此方法采用 ?Mongoskin ?模塊(通過(guò) ? npm ?install ? mongoskin ?來(lái)獲取此模塊),代碼如下:
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)
代開(kāi)瀏覽器輸入地址:http://localhost:8888/? ?運(yùn)行結(jié)果:
刷新:
第六至十條數(shù)據(jù)出來(lái)了。
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
總結(jié)
以上是生活随笔為你收集整理的nodejs 向mongodB获取指定数目的数据的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 通过nodejs插入删除MongoDB数
- 下一篇: couldn't connect to