为什么nodejs-mongodb中间件与mongo shell有不同的语法?
即使我使用node-mongodb-native ,我必须以略微不同的方式使用略有不同的function,而不是我在mongodb shell中写入的函数。
- 为什么地球更好?
- 有没有办法使用绝对相同的语法,我用在terminalmongodbshell?
- 如果是这样,是否有缺点? 例如,在PostgreSQL的情况下,中间件有一些有用的function,如SQL注入防护等。
如果你可以发表一个你想比较的相同function的两个版本的例子,那么我可以给你一个更好的解释,但是因为你没有提供任何例子,所以我只能说一般。
一些差异是因为Mongo shell依次执行所有的事情。 在Node中,您必须使用callback或承诺来进行stream量控制,而这在Mongo shell中并不是这样做的。
在访问集合的方式上也有一些差异。 在Mongo shell中,通常使用db.collectionName
。
在Mongo shell中也有一些预定义的东西,例如与对象id相关的函数。
最后,Mongo使用BSON来处理数据,在Node中使用JavaScript对象文字(更像JSON,但不太严格)。
节点使用V8加上额外的function,而Mongo shell使用SpiderMonkey,没有Node中可用的function。
这一切都有微妙的差异的后果。
有关更多详情,请参阅
- 我可以在node-mongodb-native驱动程序中执行原始的MongoDB查询吗?