下述以名为“employee”的集合为例,介绍集合的相关操作。
用户可根据需求,创建不同属性的集合。
在集合空间 sample 中创建名为“employee”的普通集合
> db.sample.createCL("employee")在集合空间 sample 中创建名为“employee”的分区集合,指定分区类型为“hash”,分区键为字段 age,并设置该集合开启自动切分功能
> db.sample.createCL("employee", {ShardingType: "hash", ShardingKey: {age: 1}, AutoSplit: true})Note:
创建集合的详细参数说明可参考 createCL()。
用户可通过 insert()、find()、update() 和 remove() 对集合中的数据进行插入、查询、更新和删除操作。
向集合 sample.employee 中插入如下记录:
> db.sample.employee.insert({id: 1, name: "Tom", age: 20})
> db.sample.employee.insert({id: 2, name: "Betty", age: 28})
> db.sample.employee.insert({id: 3, name: "Mark", age: 23})
查询集合 sample.employee 中的记录
> db.sample.employee.find()
输出结果如下:
{
"_id": {
"$oid": "60f93410bf0a61908ef9f364"
},
"name": "Tom",
"age": 20,
"id": 1
}
{
"_id": {
"$oid": "60f93420bf0a61908ef9f365"
},
"name": "Betty",
"age": 28,
"id": 2
}
{
"_id": {
"$oid": "60f93427bf0a61908ef9f366"
},
"name": "Mark",
"age": 23,
"id": 3
}
Return 3 row(s).
匹配集合 sample.employee 中 id 为 1 的记录,将该记录的 name 字段值改为"Jack"
> db.sample.employee.update({$set: {name: "Jack"}}, {id: {$et: 1}})
查看更新后的记录
> db.sample.employee.find()
{
"_id": {
"$oid": "60f93410bf0a61908ef9f364"
},
"age": 20,
"id": 1,
"name": "Jack"
}
{
"_id": {
"$oid": "60f93420bf0a61908ef9f365"
},
"name": "Betty",
"age": 28,
"id": 2
}
{
"_id": {
"$oid": "60f93427bf0a61908ef9f366"
},
"name": "Mark",
"age": 23,
"id": 3
}
Return 3 row(s).
删除集合 sample.employee 中 age 为 23 的记录
> db.sample.employee.remove({{age: {$et: 23}})
修改集合 sample.employee 的压缩类型为“snappy”
> db.sample.employee.setAttributes({CompressionType: "snappy"})
Note:
修改集合属性的详细参数说明可参考 setAttributes()。
删除集合空间 sample 下的集合 employee
> db.sample.dropCL("employee")
Note:
修改集合的详细参数说明可参考 dropCL()。
更多集合操作可参考 SdbCollection。