漫步MongoDB的森林

参考网站

请将以下内容用中文进行本地化改写,只需要提供一个选项:
https://dotinstall.com/
https://ja.wikipedia.org/wiki/MongoDB
https://www.mongodb.com/jp

https://dotinstall.com/ – 点击此链接进入dotinstall的网站。
https://ja.wikipedia.org/wiki/MongoDB – 请访问此链接以了解有关MongoDB的信息。
https://www.mongodb.com/jp – 在此网址上可以找到有关MongoDB的详细信息。
http://junaruga.hatenablog.com/entry/2017/11/13/075029 – 请点击此链接阅读有关于2017年11月13日的junaruga日志的内容。

安装

在Fedora26的情况下

sudo dnf install mongo mongodb-server

启动和自动启动设置

sudo systemctl start mongod
sudo systemctl enable mongod

替换

mongo

对DB的操作

表达

show dbs
use mydb

現在のDBの情報

db.stats();

制作

use <db-name>

删除 chú)

db.dropDatabase();

对Collection的操作

创建

db.createCollection("users");

表示

show collections;

更改名字

db.users.renameCollection("costumers");

删除

db.costumers.drop();

使用mydb
切换到mydb数据库
db.users.insert(
… {
… name: “田口”,
… score: 30
… }
… );
写入结果({ “nInserted” : 1 })
显示集合;
users
db.users.insert({
… name: “fkoji”,
… score: 50,
… tags: [“网站”, “移动”]
… });
写入结果({ “nInserted” : 1 })
for (var i = 0; i < 10; i++){
… db.users.insert({
… score: Math.random()
… });
… }
写入结果({ “nInserted” : 1 })
db.users.count();
12
db.users.find();
{ “_id” : ObjectId(“5ab85e718a6f3fc0e0564c8d”), “name” : “田口”, “score” : 30 }
{ “_id” : ObjectId(“5ab85e988a6f3fc0e0564c8e”), “name” : “fkoji”, “score” : 50, “tags” : [ “网站”, “移动” ] }
{ “_id” : ObjectId(“5ab85eb98a6f3fc0e0564c8f”), “score” : 0.5051645100761789 }
{ “_id” : ObjectId(“5ab85eb98a6f3fc0e0564c90”), “score” : 0.4473334785545654 }
{ “_id” : ObjectId(“5ab85eb98a6f3fc0e0564c91”), “score” : 0.9272772678372699 }
{ “_id” : ObjectId(“5ab85eb98a6f3fc0e0564c92”), “score” : 0.17647580670114926 }
{ “_id” : ObjectId(“5ab85eb98a6f3fc0e0564c93”), “score” : 0.761121041198397 }
{ “_id” : ObjectId(“5ab85eb98a6f3fc0e0564c94”), “score” : 0.7212922554688359 }
{ “_id” : ObjectId(“5ab85eb98a6f3fc0e0564c95”), “score” : 0.03060687445135568 }
{ “_id” : ObjectId(“5ab85eb98a6f3fc0e0564c96”), “score” : 0.4207822173198339 }
{ “_id” : ObjectId(“5ab85eb98a6f3fc0e0564c97”), “score” : 0.3180118402761415 }
{ “_id” : ObjectId(“5ab85eb98a6f3fc0e0564c98”), “score” : 0.9481763669280244 }
db.users.remove({});
写入结果({ “nRemoved” : 12 })
db.users.find();

寻找条件 – Xunzhao tiaojian

db.users.find({team: "team-1"});
db.users.find({score: {$gte: 50}});
db.users.find({name: /t/});
db.users.find({name: /^t/});
db.users.distinct("team");

在数据库中查找name字段中包含字母”i”且score字段大于等于50的用户。

或者文

db.users.find({$or: [{name: /i/}, {score:{$gte:50}}}});

在文中

db.users.find({score:{$in: [52, 66]}});

存在文化

db.users.find({age:{$exists: true}});

表示对项目的具体说明

db.users.find({}, {name: true, score: 1});
db.users.find({}, {score: 0});

※ 可以指定与_id相反的布尔值

排序()

db.users.find({}, {_id:0}).sort({score: 1});
db.users.find({}, {_id: 0}).sort({score: -1});

限制()

db.users.find({}, {_id: 0}).limit(3);
db.users.find({}, {_id: 0}).sort({score: -1}).limit(3);

找一个()

db.users.findOne({}, {_id: 0});

跳过()

db.users.findOne({}, {_id: 0}).skip(2);

更新

更新的是第一件事。

如果需要更新项目,使用$set。

db.users.update({name: "taguchi"}, {$set: {score: 80}});
db.users.update({name: "taguchi"}, {$set: {score: 80, team: "team-2"}});

如果完整地回去的話,就直接交给他。

db.users.update({name: "taguchi"}, {name: "taguchi", score: 80, team: "team-2"});

如果需要进行多次更新,请将multi设为true。

db.users.update({team: "team-1"}, {$set: {score: 0}}, {multi: true});

$增加

做加法

db.users.update({name: "taguchi"}, {$inc: {score: 5}});

$mul: 乘

乘法

db.users.update({name: "taguchi"}, {$mul: {score: 5}});

中文:更名

Note: There is no specific context provided in the original text, so it is difficult to determine the exact meaning or usage of “rename”. The provided paraphrase simply translates “rename” into Chinese.

更改字段名称

db.users.update({name: "taguchi"}, {$rename: {score: "point"}});

添加字段

db.users.update({name: "taguchi"}, {$set: {team: "team-2"}});

取消

db.users.update({name: "taguchi"}, {$unset: {team: ""}});

upsert

如果存在数据,则更新,如果不存在,则插入。

db.users.update({name: "taguchi"}, {name: "taguchi", score: 48}, {upsert: true});

删除( )

db.users.remove({name: "kato"});

指数

善于使用时,搜索性能会得到提升。

获取索引信息

db.users.getIndexes();

给分数按照降序分配索引。

db.users.createIndex({score: -1});

删除

db.users.dropIndex("score_-1");

将其设置为唯一键。

db.users.createIndex({name: 1}, {unique: true});

备份和恢复

备份

mongodump -d mydb

恢复

mongorestore --drop
广告
将在 10 秒后关闭
bannerAds