65 lines
1.2 KiB
Markdown
65 lines
1.2 KiB
Markdown
|
# MongoDB 操作工具包
|
|||
|
用于操作MongoDB,简化开发流程。要使用此工具包,你的MongoDB**必须已经开启访问控制**。
|
|||
|
|
|||
|
## 使用方法
|
|||
|
### 连接数据库
|
|||
|
|
|||
|
```go
|
|||
|
var mongodb = am_mongo.MongoDB{
|
|||
|
Host: "127.0..0.1",
|
|||
|
Port: "27017",
|
|||
|
Username: "root",
|
|||
|
Password: "1234567"
|
|||
|
}
|
|||
|
|
|||
|
err := mongodb.Connect("testdb")
|
|||
|
|
|||
|
defer am_mongo.Close()
|
|||
|
```
|
|||
|
|
|||
|
### 创建Model和唯一索引
|
|||
|
```go
|
|||
|
type User struct {
|
|||
|
Name string `bson:"name"`
|
|||
|
Age int `bson:"age"`
|
|||
|
Email string `bson:"email"`
|
|||
|
}
|
|||
|
|
|||
|
mongodb.CreateUniqueIndex("testCollection", "email")
|
|||
|
```
|
|||
|
|
|||
|
### CRUD
|
|||
|
#### 插入
|
|||
|
```go
|
|||
|
var user = User{
|
|||
|
Name: "Joe Biden",
|
|||
|
Age: 82,
|
|||
|
Email: "heyjoebiden@gmail.com"
|
|||
|
}
|
|||
|
err := mongodb.Insert("testCollection", &user)
|
|||
|
```
|
|||
|
|
|||
|
#### 查询
|
|||
|
```go
|
|||
|
// 条件查询
|
|||
|
var filter = bson.M{"email": "heyjowbiden@gmail.com"}
|
|||
|
var results []User
|
|||
|
|
|||
|
err := mongodb.Find("testCollection", filter, &results)
|
|||
|
|
|||
|
// 全数查询
|
|||
|
err = mongodb.Find("testCollection", bson.M{}, &results)
|
|||
|
```
|
|||
|
|
|||
|
#### 修改
|
|||
|
```go
|
|||
|
var filter = bson.M{"email": "heyjowbiden@gmail.com"}
|
|||
|
var update = bson.M{"name": "Donald J Trump"}
|
|||
|
err := mongodb.Update("testCollection", filter, update)
|
|||
|
```
|
|||
|
|
|||
|
#### 删除
|
|||
|
```go
|
|||
|
var filter = bson.M{"email": "heyjowbiden@gmail.com"}
|
|||
|
err := mongodb.Delete(filter)
|
|||
|
```
|