Mongodb mongoose模型查询方法语法

Mongodb mongoose模型查询方法语法,mongodb,mongoose,Mongodb,Mongoose,如果我使用mongoose模型访问MongoDB数据库,例如 MyModel.findByID(...) MyModel.save(...) MyModel.aggregate(...) 方法名称和查询语法是否与使用MongoDB shell时相同 db.mycollection.findByID(...) db.mycollection.save(...) db.mycollection.aggregate(...) 换句话说,mongoose模型是否继承了MongoDB中列出的每个收集方

如果我使用mongoose模型访问MongoDB数据库,例如

MyModel.findByID(...)
MyModel.save(...)
MyModel.aggregate(...)
方法名称和查询语法是否与使用MongoDB shell时相同

db.mycollection.findByID(...)
db.mycollection.save(...)
db.mycollection.aggregate(...)
换句话说,mongoose模型是否继承了MongoDB中列出的每个收集方法?mongoose是否在MongoDB收集方法周围使用不同语法的内置包装器功能


我只是想知道我是否可以调用MyModel.method(),我可以使用与mongdbshell相同的语法

实际的“方法”并不“完全”相同,因为它们实际上被包装在逻辑中,最显著的是包括确保实际建立数据库连接。也就是说,关于“查询”或“聚合管道”操作的实际“语法”完全相同。Mongoose只是“传递”了这些信息,“可能”会有一些变化,例如铸造类型,包括版本密钥或鉴别器等,这似乎是你真正想要的。是吗?仅供参考,所有型号上都有一个“collection”访问器,它实际上指向本机驱动程序中的底层
collection
对象。i、 e
MyModel.collection
。所以你可以直接使用它。但是,如果您这样做的话,应该小心,因为mongoose“为您照顾”的各种事情(即存在的数据库连接,当然还有“转换”)不是本机驱动程序方法的功能。是的。你基本上回答了我的问题。mongoose有这样的包装方法列表吗??还请注意,一些方法,如
.findOneAndUpdate()
与核心驱动程序具有不同的“选项”语法。这主要是因为该名称的mongoose方法“早于”核心驱动程序方法,它只是所有早期版本的
.findAndModify()
的核心方法,仍然是mongoose方法的底层调用。我认为.core驱动程序方法是指monggodb node.js驱动程序方法?