当前位置:首页>正文

mongodb怎样安装nodejs node.js如何配置mongodb连接池

2023-04-16 15:36:13 互联网 未知

mongodb怎样安装nodejs

mongodb是一个nosql数据库。

nodejs是一门语言。
如果是在nodejs中要保存数据到mongodb中,需要先安装mongodb模块:
npm install mongodb

node.js如何配置mongodb连接池?

使用node-mongodb-native,这是官方为nodejs提供的驱
动。这个库本本身就实现了pool管理,所以不用另外考虑连接池。使用上可以通过配置链接url或server的属性设置连接池大小。可以在程序初始化时
创建一个全局的访问client,也可以自己再封装一次。所有通过这个client的发出的mongo操作请求,驱动底层都会自动分配链接。由于底层是用
c/c 实现的,所以不用担心代码会阻塞。具体如何创建可以参见http://mongodb.github.io/node-mongodb-native/driver-articles/mongoclient.html#mongoclient-connect

仅供参考~

nodejs怎么把数据存到mongodb里

nodejs把数据存到mongodb里方法:
首先,创建一个数据库保存用户信息。
在这个数据库中创建一个名为 users 的集合,并插入一条用户信息。当前没有 users 集合,mongodb 会直接创建它。
> db.users.insert( { "userId":1, "name":"tom", "email":"tom@nodejs.org" })

查找信息可以使用 find 或者 findOne,区别在于 findOne 只会返回一个结果。
db.users.findOne( {"userId": 1})

返回的结果:
{
"_id" : ObjectId("5413be6e9e1c9f9c4386756d"),
"userId" : 1,
"name" : "tom",
"email" : "tom@nodejs.org"
}

驱动程序
编辑 package.json, 添加对于 mongodb 的引用。

{
"name": "express-api",
"version": "0.0.1",
"dependencies": {
"express": "2.5.9",
"ejs": "0.4.2",
"mongodb": "1.4.1"
}
}

重新 npm install 安装 mongodb 的驱动。

使用 MongoDB 数据库
修改代码,首先 require mongodb 模块,然后连接到 mongodb 数据库。

var mongo = require("mongodb")
var express = require("express")
var app = express.createServer()
app.set("view engine", "ejs")
app.set("views", __dirname "/views")
app.set("view options", { layout: false })

app.get("/", function (request, response) {
response.render("index")
})

app.get("/user/:id", function (request, response) {
var id = request.params.id
console.log(id)

app.users.findOne({ "userId": id }, function (error, doc) {
if (error) return next(error)
response.json(doc)
})
})

// connect mongodb
var server = new mongo.Server("127.0.0.1", 27017)
var db = new mongo.Db("members", server, {safe:true }).open(function (error, client) {
if (error) throw error
console.log("33[96m 33[39m connected to mongodb")
app.users = new mongo.Collection(client, "users")
client.ensureIndex("users", "userId", function (error) {
if (error) throw error
console.log("33[96m 33[39m ensured index.")
console.log("Web Server listening ......")
app.listen(3000)
})
})
注意现在是到数据库中查找用户。id 前面的 用来将表单中的字符串类型数据转换为需要的数字类型。
app.users.findOne({ "userId": id }, function (error, doc) {
if (error) return next(error)
response.json(doc)
})