4.3采集CRUD功能概述

下一节将解释Collection对象的各个函数。

在集合上执行的最常见操作是创建、读取、更新、删除(CRUD)操作。为了加快查找操作,建议适当使用索引

Collection.add ()

Collection.add ()函数用于在数据库中存储文档。方法执行单个文档或文档列表execute ()函数。

方法创建集合Schema.createCollection ()函数在插入文档之前。方法将文档插入到现有集合中Schema.getCollection ()函数。

的示例说明如何使用Collection.add ()函数。该示例假设测试模式存在,并且集合my_collection不存在。

#创建一个新的集合myColl = db.create_collection('my_collection')add({'name': 'Laurie', 'age': 19}).execute() #一次插入多个文档myColl. add({'name': 'Laurie', 'age': 19})。添加([{“名称”:“以”,“年龄”:54},{“名称”:“卢卡斯”,“年龄”:32}]). execute ()

有关更多信息,请参见CollectionAddFunction

Collection.find ()

find ()函数用于在集合中搜索文档,相当于从数据库中检索记录。需要一个SearchConditionStr作为参数,以指定应从数据库返回的文档。如何形成一个SearchConditionStr所需的表达式取决于被搜索的JSON文档的结构。要基于文档中嵌套的元素搜索集合,您需要想要搜索的元素的JSON路径。看到JSON路径语法参阅有关如何识别JSON文档中的特定元素的信息。例如,假设一个集合包含关于国家的文档,例如:

{国民生产总值:.6,独立年份:1967,名称:"西兰",代码:"SEA",人口统计:{预期寿命:79,人口:27},地理:{大陆:"欧洲",地区:"不列颠群岛",表面积:193},政府:{政府形式:"君主制",国家元首:"迈克尔·贝茨"}})

去寻找那些拥有大陆值设置为欧洲,到元素的路径腿为地理位置.该分支可以包含多个元素,使用(*)语法。把腿分开大陆元素,使用句点(.)的性格。因此,该发现可能包含一个documentPathLastItem以…形式表达:

“欧洲”.geography美元[*].Continent

对于MySQL JSON函数中使用的路径,作用域总是被搜索或操作的文档,由前导$字符表示。因此,主要的美元。应该是可选的。根据您使用的语言,完整的查找函数可以是:

收集。find(':name in geography[*].Continent') .bind('name', 'Europe') .execute()

有几种方法,例如字段()sort ()跳过()而且限制()可以拴在find ()函数进一步细化结果。有关更多信息,请参见第3.2节,“方法链接”

fetch ()函数实际上触发了操作的执行。该示例假设测试模式存在,并且集合my_collection的存在。

#使用集合'my_collection' myColl = db.get_collection('my_collection') #找到一个字段'name'以'L'开头的文档docs = myColl。找到(名称:param) .limit(1)。bind('param', 'L%').execute() print(docs.fetch_one()) #获取所有字段'name'以'L'开头的文档docs = myColl。find('name like:param').bind('param','L%').execute() myDoc = docs.fetch_one()而myDoc: print(myDoc) myDoc = docs.fetch_one()

有关更多信息,请参见CollectionFindFunction

Collection.modify ()

图4.1 Collection.modify()语法图

内容在周围的文本中有描述。

Collection.remove ()

图4.2 Collection.remove()语法图

内容在周围的文本中有描述。