下述以名为“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。