问题标签 [mongodb-shell]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mongodb - 如何在 MongoDB shell 中将对象的 _id 字段类型更改为 ObjectId?
我在 MongoDB 数据库中有几个对象,其中_id
字段被错误地分配了一个整数,我如何在 MongoDB shell 中用 ObjectId 替换这些整数?
此类对象的示例如下所示:
mongodb - MongoDB $或查询
我在 mongo shell 中运行以下查询:
它只是没有按预期返回(JSON)?
mongodb - db.stats()/collections number & db.getCollectionNames() count 之间的差异
我正在mongodb-shell
尝试了解mongodb
,并注意到db.stats()
显示的集合数量比显示的数量多 1db.getCollectionNames()
这是示例:
所以db.stats
说有6 个集合,其中 asdb.getCollectionNames
仅列出5 个集合名称。为什么会出现这种差异?
mongodb - MongoDB Catch-22 不会让我放弃大量收藏
所以我有一个 2TB 硬盘,在 1 个 mongoDB 中有 2 个集合。
- Collection 1 大约 500gb 并且是必不可少的
- Collection 2 大约 1500gb,需要删除。
我正在运行一个意外填满整个 HDD 的进程,留下 0% 的空间。除了 Linux Distro 和这个 mongoDB 之外,机器上几乎没有任何东西。
- 我想删除集合 2。
为了做到这一点,我通常会进入 mongo 并输入db.collection.drop()
但是,mongoDB 当前没有运行。为了启动它,我正在使用:
[bobby@myPC bin]# ./mongod --dbpath /home/mongo &
但是,由于 HDD 上没有空间,因此返回:
我无法删除此集合,因为没有空间。而且没有空间,因为我无法删除此集合。
我怎样才能解决这个问题?有什么方法可以识别 /home/mongo 我可以取出哪些 mongoDB 文件?
mongodb - 在 mongodb 上更新子元素
我对 mongodb 更新方法有一点问题。这是我的(简化的)模式:
我在数据库中有 2000 个对象。我想通过删除用户名值来匿名化数据。
我试过这个:
这不起作用,此查询删除密码字段并访问。我明白为什么,但怎么办?
mongo 想要分配“$set”字段,所以这不起作用。
我的问题是:如何在不删除整个“帐户”子文档的情况下更新后代字段?
(将“upsert”设置为 true 也是如此。)
javascript - 使用 mongodb shell 脚本时可以处理多少有限制吗?
我在将测试文档插入 MongoDB 时遇到问题。
我正在使用 JavaScript 创建我的测试文档,然后通过 MongoDB Shell 运行它们。但我得到了一些意想不到的结果。
我的脚本创建了一个具有以下树结构的文档。
当我尝试创建具有 15 个任务和 50 个时间表 ( createCollections("my project", 5, "my task", 15, 50, 100);
) 的 5 个项目时,我只会在数据库中获得 2 个完整(无错误)的文档。当我尝试创建具有 1 个任务和 5 个时间表 ( createCollections("my project", 5, "my task", 1, 5, 100);
) 的 5 个项目时,我只在数据库中获得 4 个完整(无错误)文档。比较奇葩。
我确信脚本会运行预期的迭代,因为我放置prints
以验证插入是否实际运行。
输出:(如预期的那样。)
剧本
是我的脚本造成的,还是对您可以通过脚本执行多少操作存在限制/错误?
mongodb - MongoDB 2.4 副本集授权
如何为 mongodb 2.4.1 设置正确的授权。我的设置似乎不起作用。副本成员配置:
添加用户授权后:
我无法访问 rs.* 命令。
mongodb - 在 shell 中重新分配 MongoDB _id
我正在尝试使用 MongoDB 重新分配 ID。但是,它没有将 ID 设置为等于我分配的值,而是创建了一个新的 ObjectId。如何分配自己的 ID?
我正在使用 Mongo 2.4.2
mongodb - 在 MongoDB shell 中声明变量不成功
这是我的文件:
insertDoc
当我通过 mongodb shell将它分配给变量时:
为什么它没有被分配给变量以及该行从哪里开始
来自。有人能弄清楚吗?
编辑:
我实际上是将 mongoVUE 中的文档粘贴到 mongo shell 中。
javascript - 如何在 mongodb shell 中使用闭包?
我对如何在 mongodb shell 中使用闭包有点困惑。
我想创建一个我可以在开发过程中专门使用的功能,以通过它的一部分快速查找文档_id
。
该函数应返回一个$where
进行必要匹配的选择器。
我想这样写:
但是当我尝试它时,我收到以下错误:
手动调用$where
似乎确实很奇怪:
我只能将其视为使其工作的解决方案,但这显然很糟糕。
澄清一下:这种方法new Function
效果很好,但我不喜欢它,因为上述方法也应该有效。
- 为什么我的闭包不起作用,闭包在 mongodb shell 中起作用吗?
- 额外问题:我可以在用户配置文件的某处注册此功能以自动加载吗?