You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MongoDB 3命令行执行insertOne报TypeError,video库未创建求解决

解决MongoDB 3中insertOne报错及数据库未创建的问题

问题原因分析

你遇到的两个问题其实是关联的:

  1. insertOne方法报错:MongoDB 3.0及更早的版本并不支持insertOne()这个方法——它是MongoDB 3.2版本才正式引入的新方法,所以在低版本的MongoDB Shell里调用这个方法会触发类型错误。
  2. video数据库未创建:MongoDB的特性是懒加载创建资源,只有当你成功插入数据时,数据库和集合才会被实际创建。因为你的插入命令执行失败了,所以video数据库自然不会被创建出来。

解决方案

根据你的MongoDB版本,有两种处理方式:

方式一:使用旧版本兼容的插入命令(无需升级)

如果你的MongoDB版本是3.0或更低,改用传统的insert()方法来插入数据,命令如下:

use video;
db.movies.insert({ "title": "Jaws", "year": 1975, "imdb": "tt0073195" });

执行这个命令后,你会看到类似WriteResult({ "nInserted" : 1 })的成功提示,此时再执行show dbs就能看到video数据库了。

方式二:升级MongoDB到3.2及以上版本

如果你想使用insertOne()这类更现代的CRUD方法,可以把MongoDB升级到3.2或更高版本。升级完成后,重新执行你原来的insertOne()命令就能正常工作,同时video数据库也会被自动创建。

额外验证步骤

  1. 先查看当前MongoDB版本,确认问题根源:
db.version();
  1. 插入成功后,验证数据是否存在:
db.movies.find({ title: "Jaws" });

内容的提问来源于stack exchange,提问作者gunaerode

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:36:43