mongodb 如何即时创建 database/collection
How does mongodb create database/collection on the fly
Mongodb 足以即时创建 database/collection,如果我们 运行 类似于
的代码
db.store.save({a: 789});
它会自动创建 store
集合并向其中添加文档。
我的 javascript 理解是无法在 db
对象的未定义 属性 上调用方法。它应该导致某种 error/exception.
我很想了解幕后发生的事情,如果有任何帮助 link 请指出这些。谷歌搜索对我帮助不大。
在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
我记得在 NodeJS 环境中,您必须执行类似这样的操作才能实际创建记录:db.get('collectionName').insert({..something...});
或 db.get('collectionName').save({...something...});
但您不能将集合名称用作 属性 分贝.
您提到的行仅在 MongoDB shell 中使用,而不是 Javascript。
我猜你误解了什么是 MongoDB shell 什么是 MongoDB 驱动程序。
长话短说 MongoDB(驱动程序)无法访问未定义的 属性。
编辑
回应您的评论..
MongoDB JS 驱动程序的 GitHub 页面几乎指出了如何插入字段并始终使用我提到的语法:https://github.com/mongodb/node-mongodb-native
至于您在 shell 中使用的内容,很明显您不能只在命令 shell 中使用 Javascript。所以我想我会给你指出一个地方,在那里你可以看到 MongoDB 开发的语言:http://www.mongodb.org/ 几乎第一行说它是用 C++ 编写的。
希望这有助于澄清您的问题
Mongodb 足以即时创建 database/collection,如果我们 运行 类似于
的代码db.store.save({a: 789});
它会自动创建 store
集合并向其中添加文档。
我的 javascript 理解是无法在 db
对象的未定义 属性 上调用方法。它应该导致某种 error/exception.
我很想了解幕后发生的事情,如果有任何帮助 link 请指出这些。谷歌搜索对我帮助不大。
在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
我记得在 NodeJS 环境中,您必须执行类似这样的操作才能实际创建记录:db.get('collectionName').insert({..something...});
或 db.get('collectionName').save({...something...});
但您不能将集合名称用作 属性 分贝.
您提到的行仅在 MongoDB shell 中使用,而不是 Javascript。 我猜你误解了什么是 MongoDB shell 什么是 MongoDB 驱动程序。
长话短说 MongoDB(驱动程序)无法访问未定义的 属性。
编辑
回应您的评论..
MongoDB JS 驱动程序的 GitHub 页面几乎指出了如何插入字段并始终使用我提到的语法:https://github.com/mongodb/node-mongodb-native
至于您在 shell 中使用的内容,很明显您不能只在命令 shell 中使用 Javascript。所以我想我会给你指出一个地方,在那里你可以看到 MongoDB 开发的语言:http://www.mongodb.org/ 几乎第一行说它是用 C++ 编写的。
希望这有助于澄清您的问题