javascript - mongodb如何动态创建数据库/集合

如果我们运行类似于

的代码,Mongodb 足以快速创建数据库/集合
db.store.save({a: 789});

它会自动创建 store 集合并向其中添加一个文档。

我的 javascript 理解表明,不可能在 db 对象的未定义属性上调用方法。它应该导致某种错误/异常。

我很想了解幕后发生的事情,如果有任何有用的链接,请指出我。谷歌搜索对我没有多大帮助。

最佳答案

在 JavaScript 中,有一种方法可以定义一个函数,该函数将在调用未定义的方法时执行。

例子:

var o = {
  __noSuchMethod__: function(id, args) { console.log(id, '(' + args.join(', ') + ')'); }
};

o.foo(1, 2, 3);
o.bar(4, 5);
o.baz();

// Output
// foo (1, 2, 3)
// bar (4, 5)
// baz ()

请注意,这是一项非标准功能,目前仅适用于 Firefox。

我不知道 MongoDB 是如何实现这个功能的,但我只是为了报告可以通过这种方式完成。

更多详情见:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/noSuchMethod

https://stackoverflow.com/questions/28064159/

相关文章:

javascript - 使用 express 将 MongoDB 查询结果作为 JSON 发送

node.js - 在 docker 容器中安装 Mongoose

mongodb - 为什么 Spring Data MongoDB 无法实例化这种嵌套类型结构?

mongodb - 如何将 MongoDB 聚合用于通用集合操作(​​联合、交集、差异)

java - Spring数据mongodb审计不起作用..(Java配置)

mongodb - 复合索引可以服务多个查询吗

java - 仅为一个字段编写 Mongo 转换器

mongodb - 为什么 MongoDB 可以创建唯一索引而 Mongoid 不能?

python - Pymongo 或 Mongodb 将两个相等的 python 字典视为不同的对象

php - 如何在 Waterline 或 MongoDB 中选择、分组和加入