首先,创建一个数据库保存用户信息。
在这个数据库中创建一个名为 users 的集合,并插入一条用户信息。当前没有 users 集合,mongodb 会直接创建它。
>db.users.insert( { "userId":1, "name":"tom", "email":"[email protected]" })
查找信息可以使用 find 或者 findOne,区别在于 findOne 只会返回一个结果。
db.users.findOne( {"userId": 1})
返回的结果:
{
"_id" : ObjectId("5413be6e9e1c9f9c4386756d"),
"userId" : 1,
"name" : "tom",
"email" : "[email protected]"
}
驱动程序
编辑 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("\033[96m + \033[39m connected to mongodb")
app.users = new mongo.Collection(client, "users")
client.ensureIndex("users", "userId", function (error) {
if (error) throw error
console.log("\033[96m + \033[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)
})
mongodb常用 *** 作语句1、现有表以及数据添加字段
db.tbGoodsConsultant.update({}, {$set:{nFlagState:0}}, false, true)
2、给表字段添加索引
db.tbGoodsConsultant.ensureIndex({nFlagState:1})
3、增加数据
>db.food.save({"name":"jack","address":{"city":"Shanghai","post":021},"phone":[138,139]})
>db.food.save({"uid":"","AL":['','']})
4、删除表、数据库
>db.users.drop()
>db.dropDatabase()
5、创建索引、数字1表示升序 -1 表示降序
>db.user.ensureIndex({"lId":1,"name":-1})
>db.system.indexes.find()
6、删除索引
>db.mycoll.dropIndex(name)
7、去掉重复数据
>db.user.distinct('name')
8、排序sort 1:ASC -1:DESC
>db.user.find().sort({"age":1})
9、查询name中包含mongo的数据 %y%
>db.user.find({name:/y/})
10、查询name中以d开头的 like 'd%'
>db.user.find({name:/^d/})
11、查询指定列name、age数据(name也可以用true||false,true和name:1等同)
>db.user.find({},{name:1,age:1})
12、查询2条以后的数据
>db.user.find().skip(2)
13、查询在2-10之间的数据
>db.user.find().limit(10).skip(2)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)