求教,nodejs如何往mongoDB中批量插入数据

求教,nodejs如何往mongoDB中批量插入数据,第1张

nodejs把数据存到mongodb里方法:

首先,创建一个数据库保存用户信息。

在这个数据库中创建一个名为 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)

})

1.先在路由添加5W填数据

2.开启分片

查看B片数据

查看A片数据

问题:在路由中添加5W数据,然后分片,但是呢数据现在竟然不平衡啦,查看一下原因

解决:在路由执行sh.isBalancerRunning() 返回啦false,证明平衡器没有开启

现在刚刚分片的集合开启平衡器sh.enableBalancing("user")

在查看A片数据

在查看B片数据

这时数据就恢复成正常现象啦

StringBuilder sb=new StringBuilder()

foreach (var Student in jing)

{

sb.AppendFormart("姓名={0},Nameid={1},性别={2},班级={3},专业={4}",Student.姓名,Student.Nameid,Student.性别,Student.班级,Student.专业)

}

this.textBox1.text=sb.tostring()


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11410148.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存