我想让用户能够在我的Node应用程序中创建集合。我真的只见过猫鼬集合中的硬编码示例。有人知道是否有可能用猫鼬动态创建集合吗?如果是这样,那么一个例子将非常有帮助。
基本上,我希望能够在不同的集合中存储不同“事件”的数据。
IE事件:event1,event2,… eventN
用户可以在那里创建自己的自定义事件并将数据存储在该集合中。最后,每个事件可能有成百上千的行。我想让用户能够对他们的事件执行CRUD操作。我不想将每个事件数据存储在一个不同的集合中,而不是将其存储在一个大的集合中。
我真的没有一个尝试过的例子,因为我只用猫鼬创建了“硬编码”集合。我什至不确定是否可以根据用户请求动态创建猫鼬新集合。
var mongoose = require('mongoose');
mongoose.connect('localhost', 'events');
var schema = mongoose.Schema({ name: 'string' });
var Event1 = mongoose.model('Event1', schema);
var event1= new Event1({ name: 'something' });
event1.save(function (err) {
if (err) // ...
console.log('meow');
});
如果我将“ Event1”硬编码为集合,则上述方法效果很好。不确定我是否创建动态集合。
var mongoose = require('mongoose');
mongoose.connect('localhost', 'events');
...
var userDefinedEvent = //get this from a client side request
...
var schema = mongoose.Schema({ name: 'string' });
var userDefinedEvent = mongoose.model(userDefinedEvent, schema);
你能做到吗?
来自mongo docs:数据建模
在某些情况下,您可能选择将信息存储在多个集合中,而不是在一个集合中。
考虑一个样本收集日志,该日志存储了各种环境和应用程序的日志文档。日志收集包含以下格式的文档:
{log:“ dev”,ts:…,信息:…} {log:“ debug”,ts:…,信息:…}
如果文档总数很少,则可以按类型将文档分组。对于日志,请考虑维护不同的日志集合,例如logs.dev和logs.debug。logs.dev集合将仅包含与开发环境有关的文档。
通常,具有大量集合不会造成明显的性能损失,并且会导致非常好的性能。独特的馆藏对于高通量批处理非常重要。
问题内容: 我有一个可以在MongoDB和mongoose上的node.js上运行的应用程序。我的应用程序只是发送/删除/编辑表单数据,为此,我有这样的猫鼬模型: 而且效果很好! 现在,我想向表单添加一个功能,以便用户可以添加一个或多个字段来表单并在其中输入文本并发布。在客户端上创建动态功能没问题,但是我知道我的mongoose.model必须正确构造。我的问题是:如何将变量值(动态创建的表单数据
问题内容: 我刚开始是猫鼬。我有一个带猫鼬的创建脚本,该脚本用示例数据创建模式和数据库。 现在,我编写实际的应用程序。每次我的应用程序运行时,我是否需要创建模式对象,或者它已经以某种方式可用? 换句话说,我是否需要在每个使用猫鼬访问数据库的应用程序中运行此代码,还是仅在第一次运行此代码: 如果我有设置器/验证器/等,答案将如何变化? 问题答案: 一个定义就是让应用程序理解如何将数据从MongoDB
问题内容: 我正在尝试使用Mongoose制作动态条件,但是它并没有像我想象的那样起作用。 代码是这样的 如您所见,我正在尝试使用“索引”变量创建动态条件。有可能这样做吗? 先感谢您! 问题答案: 您需要分两步创建对象: 更新资料 现在,node.js 4+支持计算的属性名称,您可以一步完成此操作:
我知道在最新版本的Mongoose中,您可以将多个文档传递给create方法,在我的例子中,甚至可以传递一个文档数组。 我的问题是数组的大小是动态的,所以在回调中创建一个对象数组会很有帮助。 文档中没有,但这样做可能吗?
问题内容: 使用Mongoose将文档(记录)插入MongoDB有哪些不同的方法? 我目前的尝试: 知道为什么插入和保存在我的情况下不起作用吗?我尝试创建,它插入了2个文档而不是1个。这很奇怪。 问题答案: 的是该模型的一个实例方法中,当直接从被呼叫作为一个方法调用,在本质上静态的,拍摄对象作为第一参数。 将任何您想要的功能导出到外部。 有关Mongoose Docs的 更多信息,或考虑阅读Mon
问题内容: 我正在尝试使用猫鼬返回dbs集合的列表。我遵循此处列出的指示,但http://grokbase.com/t/gg/mongoose- orm/122xxxr7qy/mongoose-get-a-list-of-all- collections 。所以这是我的代码 唯一的问题是名称返回的是未定义的。因此,甚至可以仅使用香草猫鼬返回收藏列表吗? 问题答案: 连接后尝试运行您的集合名称功能。