将文档保存到猫鼬中的特定集合

Posted

技术标签:

【中文标题】将文档保存到猫鼬中的特定集合【英文标题】:Save document to specific collection in mongoose 【发布时间】:2014-12-21 17:30:05 【问题描述】:

我无法理解我将文档保存到哪个集合。我有以下代码:

var message = mongoose.Schema(
    created: type: Date, default: Date.now
);

var message_temp = mongoose.model('message', message);

现在我该怎么做才能将该消息保存到特定集合?如果我这样做了

 message.save(function(err));

消息实际保存在哪里?

【问题讨论】:

通过 mongo shell 连接到您正在使用的 mongod 实例,发出 use <yourDataBase>show collections @MarkusWMahlberg 但是我该怎么做才能将该消息保存到特定集合中? 看看:***.com/a/7722490/1296707 @MarkusWMahlberg Markus 如果您可以看看我与 mongodb 相关的其他问题,您似乎是唯一回答的人。请参阅this one,tyvm! 【参考方案1】:

我晚了六年,但有些人可能仍然觉得这很有用。 根据文档,您在保存模型时指定这样的集合, collection: 'name'

像这样:

 const model = new Model(
        _id: new mongoose.Types.ObjectId(),
        somefield: "some value",
        someotherfield: "some other value"
    ,  collection: 'here you put the name of your collection' );

文档链接 https://mongoosejs.com/docs/guide.html#collection

【讨论】:

【参考方案2】:

要定义一个集合,您只需:

var message_temp = mongoose.model('message', message,'collectionyouwant');

【讨论】:

对我不起作用:OverwriteModelError: 编译后无法覆盖message 模型。我看到的问题是关于临时(动态)向 db 发送请求到特定集合 2020 年 3 月,这不在 mongoose 文档中,令人难以置信...感谢您的回答适用于 mongoose 5.9.6 不确定从什么时候开始,但截至 2021 年 3 月,这是model documentation。不过很好。

以上是关于将文档保存到猫鼬中的特定集合的主要内容,如果未能解决你的问题,请参考以下文章

将订单集合中的订单总和添加到猫鼬中的用户集合

循环依赖检测到猫鼬错误

如何获取 Model.countDocuments() 函数返回的文档计数并将其设置为猫鼬中的其他字段

输出猫鼬中的所有文档

如何按一个字段查询并获取猫鼬中的特定字段?

将普通对象投射到猫鼬文档