利用JS
操作数据库
(1)新建一个mongodb-1.js
(2)输入以下内容
var userName="mongodb"; //声明一个登录名
var timeStamp=Date.parse(new Date()); //声明登录时的时间戳
var jsonDdatabase={"loginUnser":userName,"loginTime":timeStamp}; //组成JSON字符串
var db = connect('log'); //链接数据库
db.login.insert(jsonDdatabase); //插入数据
print('print success');
(3)验证输出
在命令行输入mongo mongodb-1.js
,就可以看到以下输出,表明操作成功
D:\Code\Test\Others>mongo mongodb-1.js
MongoDB shell version v3.4.4
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.4
connecting to: mongodb://127.0.0.1:27017/log
MongoDB server version: 3.4.4
print success
有一点要注意的是,
在命令行输入mongo mongodb-1.js
这个执行多少次,就会执行多少次insert
操作,也就是会往数据库插入多少条内容相同但ObjectId
不同的数据。
(4)验证mongo的数据有没有被插入到数据库中
- 为了区分,可以另外打开一个cmd,启动mongo
- 输入
show dbs
,可以看到已经多了log库
总是切换cmd会显得很麻烦,这里推荐一个多切换的cmd工具:
mac:iterm2
或者windows:cmder
C:\Users\Angsi>mongo
MongoDB shell version v3.4.4
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.4
Server has startup warnings:
2020-06-23T20:39:48.922+0800 I CONTROL [initandlisten]
2020-06-23T20:39:48.922+0800 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.
2020-06-23T20:39:48.922+0800 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.
2020-06-23T20:39:48.922+0800 I CONTROL [initandlisten]
> show dbs
admin 0.000GB
charles 0.000GB
local 0.000GB
log 0.000GB
- 切换到log库
use log
,并查询数据show collections
,会发现多了login集合
> use log
switched to db log
> show collections
login
- 验证数据的插入
db.login.find()
> db.login.find()
{ "_id" : ObjectId("5ef20d5fbda5c72f9272011b"), "loginUnser" : "mongodb", "loginTime" : 1592921439000 }
{ "_id" : ObjectId("5ef20d8af5ffb7a3c26bbe87"), "loginUnser" : "mongodb", "loginTime" : 1592921482000 }
(5)再次插入数据
// var userName = "mongodb"; //声明一个登录名
// var timeStamp = Date.parse(new Date()); //声明登录时的时间戳
// var jsonDdatabase = { "loginUnser": userName, "loginTime": timeStamp }; //组成JSON字符串
// var db = connect('log'); //链接数据库
// db.login.insert(jsonDdatabase); //插入数据
var log2 = "v3.3.4"
var log2Data = { version: log2 }
var db = connect('log2')
db.ver.insert(log2Data)
print('print success again');
要注意的是,如果想要创建新的库/集合,需要重新执行
mongo xxx.js
命令
D:\Code\Test\Others>mongo mongodb-1.js
MongoDB shell version v3.4.4
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.4
connecting to: mongodb://127.0.0.1:27017/log2
MongoDB server version: 3.4.4
print success again
然后重复上面的命令,查询插入的数据是否入库
C:\Users\Angsi>mongo
MongoDB shell version v3.4.4
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.4
Server has startup warnings:
2020-06-23T20:39:48.922+0800 I CONTROL [initandlisten]
2020-06-23T20:39:48.922+0800 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.
2020-06-23T20:39:48.922+0800 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.
2020-06-23T20:39:48.922+0800 I CONTROL [initandlisten]
> show dbs
admin 0.000GB
charles 0.000GB
local 0.000GB
log 0.000GB
log2 0.000GB
> use log2
switched to db log2
> show collections
ver
> db.ver.find()
{ "_id" : ObjectId("5ef215140c1ce12dfa7c6bbb"), "version" : "v3.3.4" }
PS:要注意的是mongodb目前对ES6的支持还不是很友好,所以尽量使用ES5,当然如果仅是练习可以使用看看,目前知道的问题是建库的时候必须使用ES5,如var db = connect('log2')
的var
不能用let/const
去声明。
网友评论