使用 PyMongo 在 mongodb 中创建多个集合

Create multiple collections in mongodb using PyMongo

我正在尝试使用 pymongo 模块在 MongoDB 中创建多个集合,如下所示。但它一直在失败。

import pymongo
client = MongoClient('localhost:27017')
mydb = client.tstdata # connect/create a db in mongodb
list1 = ["tst-1","tst-2","tst-3"] # list of collections to be created
for each_val in list1:
    print (each_val)
    col = mydb.each_val #create collection
    col.insert_one({"name" : "test"})

不是使用 'each_val' 变量中的值创建多个集合,它只是创建名称为 "each_val" 的集合;我该如何解决上述错误

使用语法:

col = mydb[each_val]

车手尽最大努力(某种程度上)匹配 mongo shell。因此 db.x.insert 将插入到集合 x 而不是您所见的任何名为 x 的变量。

根据您的代码,您正在创建 each_val 集合 您必须在 pymongo [ ]

的方括号中添加集合名称
from pymongo import MongoClient

client = MongoClient('localhost:27017')
mydb = client.tstdata # connect/create a db in mongodb
list1 = ["tst-1","tst-2","tst-3"] # list of collections to be created
for each_val in list1:
    print (each_val)
    col = mydb[each_val] #create collection
    col.insert_one({"name" : test})