数据库操作
- 创建数据库(如果数据库不存在,则创建数据库,否则切换到指定数据库) use database_name
- 查看当前数据库
db
- 查看所有数据库
show db
- 删除当前数据库
db.dropDatabase()
集合/文档
- 创建集合(插入一个空集合也可自动创建)
db.createCollection(“集合名”)
创建集合是可设置固定集合(约定集合最多存储多少条记录,占居磁盘大小) - 集合中默认
_id
字段为主键(唯一),可手动添加值 - 查看库中所有集合
show tables
- 删除集合
db.集合名.drop()
curd
添加
在单一文档层级上是原子的
- insertOne()
- insertMany
- insert()
查询
db.collection.find(query, projection)
query:可选,使用查询操作符指定查询条件
projection:可选,要返回的字段
// 条件查询
// select * from user_info
db.user_info.find()
// 指定字段查询,第二个参数规则
// 包含规则:1 或 true 在返回的文档中包含字段
// 排除规则:0 或者 false 排除该字段
// 同一条查询中不能同时存在包含和排除操作(除了 _id 字段),_id 字段是默认返回的
// select _id,name,sex from user_info
db.user_info.find({},{"name":1,"sex":1})
// select name,sex from user_info
db.user_info.find({},{"name":1,"sex":1,_id:false})
// where name="lily" and sex=1
db.user_info.find({"name":"lily","sex":1})
// where name in ("org", "blair")
db.user_info.find({ name: { $in: ["org","blair"]})
安装使用
-
选择合适的版本
https://www.mongodb.com/download-center/community
(RHEL … 为红帽版本)解压后无需编译即可使用
-
启动
./bin/mongod --dbpath ./data/db --config mongodb.conf
[选择指定数据库存放路径,指定配置文件启动 :可选参数] -
报错解决方式 No suitable servers found (serverSelectionTryOnce set): [connection refuse…
报错解决方式
- mongodb.conf 配置文件中添加 bind_ip=0.0.0.0 即为允许所有主机连接 (如没有配置文件 touch mongodb.conf,然后再添加 bind_ip=0.0.0.0)
- baidu.com …
laravel/lumen操作 (引入 Jenssegers\Mongodb)
1.vendor/ … /config/database.php 中添加配置文件
'mongodb' => [
'driver' => 'mongodb',
'host' => env('DB_MONOGO_HOST', '192.168.1.54'),
'port' => env('DB_MONOGO_PORT', '27017'),
'database' => env('DB_MONOGO_DATABASE', 'myDb'),
'username' => env('DB_MONOGO_USERNAME', ''),
'password' => env('DB_MONOGO_PASSWORD', ''),
],
2.bootstrap/app.php中注册
$app->register(Jenssegers\Mongodb\MongodbServiceProvider::class);
// $app->withEloquent(); // Eloquent ORM 使用
// 这个要放在 上面注册mongodb 的代码下面,不然无法注入使用
3.curd
$resource = DB::connection('mongodb')
->collection('sphere')
->limit(40)
->get();