mongodb基础使用

数据库操作

  1. 创建数据库(如果数据库不存在,则创建数据库,否则切换到指定数据库) use database_name
  2. 查看当前数据库 db
  3. 查看所有数据库 show db
  4. 删除当前数据库 db.dropDatabase()

集合/文档

  1. 创建集合(插入一个空集合也可自动创建) db.createCollection(“集合名”) 创建集合是可设置固定集合(约定集合最多存储多少条记录,占居磁盘大小)
  2. 集合中默认 _id 字段为主键(唯一),可手动添加值
  3. 查看库中所有集合 show tables
  4. 删除集合 db.集合名.drop()

curd

添加

在单一文档层级上是原子的

  1. insertOne()
  2. insertMany
  3. 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…

    报错解决方式

    1. mongodb.conf 配置文件中添加 bind_ip=0.0.0.0 即为允许所有主机连接 (如没有配置文件 touch mongodb.conf,然后再添加 bind_ip=0.0.0.0)
    2. 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();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值