MongoDB
MongoDB支持
TypeORM 具有基本的 MongoDB 支持。 TypeORM 大多数功能都是特定于 RDBMS 的, 此页面包含了所有 MongoDB 特定的功能文档。
定义实体和列
定义实体和列几乎与关系数据库中的相同,主要区别在于你必须使用@ObjectIdColumn
而不是@PrimaryColumn
或@PrimaryGeneratedColumn
。
简单实体示例:
这里是你的应用程序如何连接到 MongoDB:
定义subdocuments(embed documents)
由于 MongoDB 存储对象和对象内的对象(或文档内的文档),因此你可以在 TypeORM 中执行相同的操作:
如果保存此实体:
以下文档将保存在数据库中:
使用MongoEntityManager
和MongoRepository
MongoEntityManager
和MongoRepository
你可以使用EntityManager
中的大多数方法(除了特定于 RDBMS 的方法,如query
和transaction
)。 例如:
对于 MongoDB,还有一个单独的MongoEntityManager
,它扩展了EntityManager
。
就像MongoEntityManager
的EntityManager
一样,MongoRepository
也扩展了Repository
:
MongoEntityManager
和MongoRepository
都包含许多有用的 MongoDB 特定方法:
createCursor
createCursor
为查询创建一个游标,可用于迭代 MongoDB 的结果。
createEntityCursor
createEntityCursor
为查询创建一个游标,可用于迭代 MongoDB 的结果。 这将返回游标的修改版本,该版本将每个结果转换为实体模型。
aggregate
aggregate
针对集合执行 aggregation framework 管道。
bulkWrite
bulkWrite
在没有连贯 API 的情况下执行 bulkWrite 操作。
count
count
计算 db 中与查询匹配的文档的数量。
createCollectionIndex
createCollectionIndex
在 db 和 collection 上创建索引。
createCollectionIndexes
createCollectionIndexes
在集合中创建多个索引,此方法仅在 MongoDB 2.6 或更高版本中受支持。 早期版本的 MongoDB 会抛出命令不支持的错误。 索引规范在http://docs.mongodb.org/manual/reference/command/createIndexes/中定义。
deleteMany
deleteMany
删除 MongoDB 上的多个文档。
deleteOne
deleteOne
删除 MongoDB 上的文档。
distinct
distinct
distinct 命令返回集合中给定键的不同值列表。
dropCollectionIndex
dropCollectionIndex
从此集合中删除索引。
dropCollectionIndexes
dropCollectionIndexes
删除集合中的所有索引。
findOneAndDelete
findOneAndDelete
查找文档并在一个 atomic 操作中将其删除,在操作期间需要写入锁定。
findOneAndReplace
findOneAndReplace
查找文档并在一个 atomic 操作中替换它,在操作期间需要写入锁定。
findOneAndUpdate
findOneAndUpdate
查找文档并在一个 atomic 操作中更新它,在操作期间需要写入锁定。
geoHaystackSearch
geoHaystackSearch
使用集合上的 geo haystack 索引执行 geo 搜索。
geoNear
geoNear
执行 geoNear 命令以搜索集合中的项目。
group
group
跨集合运行组命令。
collectionIndexes
collectionIndexes
检索集合上的所有索引。
collectionIndexExists
collectionIndexExists
检索集合中是否存在索引
collectionIndexInformation
collectionIndexInformation
检索此集合索引信息
initializeOrderedBulkOp
initializeOrderedBulkOp
启动按顺序批量写入操作,将按添加顺序连续执行操作,为类型中的每个开关创建新操作。
initializeUnorderedBulkOp
initializeUnorderedBulkOp
启动乱序批量写入操作。 所有操作都将缓冲到无序执行的 insert/update/remove 命令中。
insertMany
insertMany
将一组文档插入 MongoDB。
insertOne
insertOne
将单个文档插入 MongoDB。
isCapped
isCapped
如果集合是上限集合,则返回。
listCollectionIndexes
listCollectionIndexes
获取集合的所有索引信息的列表。
parallelCollectionScan
parallelCollectionScan
为集合返回 N 个并行游标,允许并行读取整个集合。 返回的结果没有顺序保证。
reIndex
reIndex
重新索引集合上的所有索引警告:reIndex 是一个阻塞操作(索引在前台重建),对于大型集合来说速度很慢。
rename
rename
更改现有集合的名称。
replaceOne
replaceOne
替换 MongoDB 上的一个文档。
stats
stats
获取所有集合的统计信息。
updateMany
updateMany
根据过滤器更新集合中的多个文档。
updateOne
updateOne
根据过滤器更新集合中的单个文档。
Last updated