use mock # 切换数据库
show collection # 列出所有的表
db.orders.findOne() # 查询orders表中第一个
db.fruit.insertOne({name:"apple"}) # fruit表中插入一个水果
# 结果:插入成功,并成功添加一个默认主键ObjectId。
{
"acknowledged" : true,
"insertedIds" : [
ObjectId("60389e7c3618daf1dd0f67fa"),
]
}
#
db.fruit.insertMany([{name:"apple"},{name:"banana"},{name:"pear"}]) # 插入多个水果
db.fruit.find() # 列出表中的所有数据
关于find查询
- 关于find
- find 是MongoDB中查询数据的基本指令,相当于SQL中的SELECT。
- find 返回的是游标。
find()更多函数 | 作用 | 示例(以订单表orders为例) | 说明 |
---|---|---|---|
find() | 查询 | # 获取游标,并存入变量中。 var cursor = db.orders.find() var cursor = db.orders.find( {type : 2 } ) |
条件查询。 |
next() | cursor.next() | 获取下一条文档。 | |
printjson() | printjson(mycursor.next()) | 以 JSON 形式打印下一条。 | |
forEach() | mycursor.forEach(function(obj{printjson(obj)})) mycursor.forEach(printjson) |
对游标获取到的对象进行遍历并打印。 效果一样。 |
|
DBQuery.shellBatchSize | print(DBQuery.shellBatchSize) | 读取游标迭代次数,即每页显示的文档个数。 | |
DBQuery.shellBatchSize = 10 | 修改游标迭代次数。 | ||
sort() | db.orders.find().sort({money:-1}) | 订单表以总价从高到低排序。(1 升序,-1降序) | |
toArray() | db.orders.toArray() | 将查询结果集放入 JSON 数组。 | |
count() | db.orders.count() | 查询的结果个数。 | |
skip() | db.orders.skip(100) | 游标跳到指定下标100。(下标也是从0开始的,所以100就是第101个。) | |
limit() | db.orders.limit(10) db.orders.skip(100).limit(5) |
查10个。 从下标100开始,查5个。 |
|
objsLeftInBatch() | mycursor.objsLeftInBatch() | 查看当前游标未被迭代的文档数量。 | |
addOption() | mycursor.addOption() 待完善 | 为游标设置辅助选项,修改游标的默认行为。 | |
hint() | 强制使用指定的索引。 | ||
explain() | 调试,获取查询执行过程的报告。 | ||
snapshot() | 对查询结果使用快照。 | ||