如何使用 mongodb 更改表

问题描述 投票:0回答:3

我需要在 MongoDB 集合上添加一个新的“状态”字段。我有很多教程,但从来没有指出字段的类型。我需要一个 varchar(5)

下面的代码片段是否适合我的要求?

db.users.update(
    { },
    { $set: { Status: []} },
    { multi: true }
)
mongodb mongodb-query insert-update alter-table
3个回答
3
投票

MongoDB 不使用表。使用Collections,也许你必须更深入地研究这个概念,因为你必须将经典的E/R思维转变为新的概念(Collections)。

我建议您使用 mongoose 并使用 JSON 定义您的模型。有大量关于此的教程和文档。

编辑:

正如我之前提到的,如果您使用的是高级语言,请尝试使用它。 http://mongoosejs.com/ 它非常简单并且运行完美。

如果您直接在 mongo shell 中使用命令,请阅读此链接。 http://docs.mongodb.org/manual/reference/mongo-shell/

您将获得作为集合的基本概念,如何以动态、惰性的方式转换该集合。


1
投票

您的命令会将字段

Status
作为空数组添加到集合
users
中的所有文档中。在 mongodb 中没有 varchar (只有字符串),并且您不能限制它只包含 5 个字符。该限制需要通过某种应用程序逻辑来完成。

支持的 mongodb 类型可以在这里找到。


0
投票

我的要求是在集合中添加用户:

我最初的收藏是:

并将用户添加到我现有的集合中。

            let response = await resumeTemplates.updateOne(
            { templateID: templateID },
            {
                $set: { 'templateImg': templateImg, user: user },
                $currentDate: { lastModified: true },
            },
            { upsert: true })

运行此查询后,我的集合看起来像这样。

© www.soinside.com 2019 - 2024. All rights reserved.