我想根据名称在正确的集合中添加数据。下面的代码定义得很好。 collection(db,name)
返回集合的名称。但是当我想通过rightCollection = collections(db, name)
保存集合名称并将其插入db.rightCollection.insert({"1" : "Righ collection"})
时。 Pymongo正在名称rightCollection
而不是Peter
下创建集合。我想在Peter
中插入数据。为什么会这样?我可以解决吗?
from pymongo import MongoClient
def collections(db,name):
if(name is 'Peter'):
return db.Peter
client = MongoClient()
db = client.myDB
name="Peter"
rightCollection = collections(db, name)
db.rightCollection.insert({"1" : "Righ collection"})
答案 0 :(得分:1)
使用pymongo 3.2.2,您不需要 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
功能,您可以直接使用集合名称:
collections
应将文档from pymongo import MongoClient
client = MongoClient()
db = client.myDB
db.Peter.insert_one({'1': 'Right collection'})
插入数据库{'1': 'Right collection}
下的集合Peter
。要验证数据是否正确插入,您可以使用myDB
shell:
mongo
或者,如果您需要在变量中定义名称> use myDB
> db.Peter.find()
{ "_id": ObjectId("57df7a4f98e914c98d540992"), "1": "Right collection" }
,则可以执行以下操作:
Peter