【问题标题】:Inserting data in mongo collection through cmd command通过cmd命令在mongo集合中插入数据
【发布时间】:2020-03-03 19:15:03
【问题描述】:

当我使用 cmd 命令在 MongoDb 数据库中插入数据时

mongo mongodb://localhost:27017/DummyDatabase --eval "db.Dummy.insert({a:12345,b:asd})"

我收到以下错误 -

MongoDB shell 版本 v4.2.0

连接到:mongodb://localhost:27017/Ontologies?compressors=disabled&gssapiServiceName=mongodb

隐式会话:会话 { "id" : UUID("6da84ed8-8bf0-4a6c-9d38-7c70cbfc8c7e") }

MongoDB 服务器版本:4.2.0 2019-11-07T13:49:15.316+0530 E QUERY [js] 未捕获的异常:ReferenceError:asd 未定义: @(shell 评估):1:38 2019-11-07T13:49:15.320+0530 E - [main] 以代码 -4 退出

但是当我发出这个命令时-

mongo mongodb://localhost:27017/DummyDatabase --eval "db.Dummy.insert({a:12345})"

这可行,可能是什么问题?

【问题讨论】:

    标签: mongodb cmd


    【解决方案1】:

    命令失败的问题是提供给带有键“b”的字段的值不是合法的 JSON 值类型。 asd 是一个字符串,需要用引号引起来,以便插入的文档可以是有效的 JSON 对象。详情请参考json.org。

    【讨论】:

    • 用双引号括起来它也会给出未捕获的异常:ReferenceError: asd is not defined :
    • 确保 asd 用引号括起来。所以命令看起来像这样。 mongo mongodb://localhost:27017/DummyDatabase --eval "db.Dummy.insert({a:12345,b:"asd"})"
    • 哦,是的,很抱歉。事实证明,字符串需要用单引号括起来。试试这个:mongo mongodb://localhost:27017/DummyDatabase --eval "db.Dummy.insert({a:12345,b:'asd'})"
    猜你喜欢
    • 2016-11-27
    • 2016-04-03
    • 2018-02-12
    • 1970-01-01
    • 1970-01-01
    • 2010-10-16
    • 2021-05-18
    • 2016-06-03
    相关资源
    最近更新 更多