1、插入记录
有几点注意一下:
(1)、不需要预先创建一个集合,在第一次插入数据的时候会自动创建
(2)、在文档中其实可以存储任何结构的数据,当然在实际应用中我们存储的还是相同类型文档的集合
(3)、每次插入数据时候集合都会有一个ID,名字叫做_id
插入多条数据
2、_id key
在MongoDB中,每一个集合都必须有一个叫做_id的字段,字段类型默认为ObjectId,换句话说,字段类型可以不是ObjectId
虽然_id的类型可以自由指定,但是在同一个集合中必须唯一,如果插入重复值的话,系统将会抛出异常,如:
3、查询记录
(1)、普通查询
从一个查询中返回一个游标对象,可以通过find()来查询,他返回一个任意结构的集合,通过while来输出
上面的例子显示了游标风格的迭代输出,.hasNext() 函数告诉我们是否还有数据,如果有,则可以条用.next()函数
当我们使用的是JavaScript shell,可以用到JS的特性,forEach就可以输出游标,如下面的例子就是调用forEach()来循环输出,forEach()必须定义一个函数提供给每个游标元素使用。
在MongoDb shell 中,也可以把游标当作数组来用:
使用游标的时候要注意:占用内存的问题,特别是很大的游标对象,有可能会内存溢出。所以应该用迭代的方式来输出。以下的示例则是把游标转换成真实的数组类型:
(2)、条件查询
根据指定的条件来查询
(3)、findOne()语法
为了方便考虑,MongoDB shell避免游标可能带来的开销,提供一个findOne()函数,这个函数和find()函数一样,不过他返回的是游标里第一条数据,或者返回null,即空数据
(4)、通过limit限制结果集数量
如果要限制结果集的长度,那么可以调用limit方法