无法通过 pymongo 中的 insert() 为 mongodb 和属性错误创建 collection
Unable to create a collection through insert() in pymongo for mongodb and an attribute error
我正在尝试将文档输入我的 mongodb 颜色 collection 的测试数据库,该数据库不存在,但如果不存在,它应该创建一个。我的以下代码没有显示任何名为“颜色”的新 collection,据我了解我正在关注这些链接的教程 1,2 它应该创建一个。
代码给出一个
AttributeError:'ObjectId' object 没有属性 'inserted_id'
如果我不注释掉我试图访问 insert_one() 返回的 ObjectId 的代码的最后两行。请查看教程,看看我做错了什么,下面是我使用 pymongo 在 python 中插入代码。代码运行时注释掉最后两行,但没有创建 collection。我正在使用“Mongo Express”作为 mongodb 的 GUI 来查看 collection 和文档。输入的 JSON 示例是从互联网上使用的,不是我自己的。
#!/usr/bin/env python
from pymongo import MongoClient
#from datetime import datetime
client = MongoClient()
db = client.test
result = db.colors.insert(
{
"colorsArray":[{
"colorName":"red",
"hexValue":"#f00",
},
{
"colorName":"green",
"hexValue":"#0f0"
},
{
"colorName":"blue",
"hexValue":"#00f"
},
{
"colorName":"cyan",
"hexValue":"#0ff"
},
{
"colorName":"magenta",
"hexValue":"#f0f"
},
{
"colorName":"yellow",
"hexValue":"#ff0"
},
{
"colorName":"black",
"hexValue":"#000"
}
]
}
)
x = result.inserted_id
print x
[已解决]
更新:Mongo Express 工作不正常,添加的 collection 没有出现在 GUI 中,但是在停止 mongod 服务并重新启动系统然后重新启动 mongod 服务后,Mongo Express 也解决了这个问题.
The code give an AttributeError:'ObjectId' object has no attribute 'inserted_id'
这是因为您正在使用 insert
方法,其中 return ObjetId
对象和; ObjectId
没有属性 inserted_id
。你应该使用
insert_one
方法。
我正在尝试将文档输入我的 mongodb 颜色 collection 的测试数据库,该数据库不存在,但如果不存在,它应该创建一个。我的以下代码没有显示任何名为“颜色”的新 collection,据我了解我正在关注这些链接的教程 1,2 它应该创建一个。
代码给出一个 AttributeError:'ObjectId' object 没有属性 'inserted_id' 如果我不注释掉我试图访问 insert_one() 返回的 ObjectId 的代码的最后两行。请查看教程,看看我做错了什么,下面是我使用 pymongo 在 python 中插入代码。代码运行时注释掉最后两行,但没有创建 collection。我正在使用“Mongo Express”作为 mongodb 的 GUI 来查看 collection 和文档。输入的 JSON 示例是从互联网上使用的,不是我自己的。
#!/usr/bin/env python
from pymongo import MongoClient
#from datetime import datetime
client = MongoClient()
db = client.test
result = db.colors.insert(
{
"colorsArray":[{
"colorName":"red",
"hexValue":"#f00",
},
{
"colorName":"green",
"hexValue":"#0f0"
},
{
"colorName":"blue",
"hexValue":"#00f"
},
{
"colorName":"cyan",
"hexValue":"#0ff"
},
{
"colorName":"magenta",
"hexValue":"#f0f"
},
{
"colorName":"yellow",
"hexValue":"#ff0"
},
{
"colorName":"black",
"hexValue":"#000"
}
]
}
)
x = result.inserted_id
print x
[已解决] 更新:Mongo Express 工作不正常,添加的 collection 没有出现在 GUI 中,但是在停止 mongod 服务并重新启动系统然后重新启动 mongod 服务后,Mongo Express 也解决了这个问题.
The code give an AttributeError:'ObjectId' object has no attribute 'inserted_id'
这是因为您正在使用 insert
方法,其中 return ObjetId
对象和; ObjectId
没有属性 inserted_id
。你应该使用
insert_one
方法。