我刚刚开始使用MongoDB,所以如果这是一个明显或简单的问题我会道歉。
我正在尝试使用以下数据结构存储我的信息:
database: {
Customers: {
Date_added_1: {
{customer 1 info},
{customer 2 info},
{customer 3 info}
}
Date_added_2: {
{customer 1 info},
{customer 2 info}
}
}
Employees: {
Date_hired_1: {
{employee 1 info},
{employee 2 info}
}
Date_hired_2: {
{employee 1 info}
}
}
}
我编写的用于将信息输入数据库的代码如下所示:
from pymongo import MongoClient
def addLeadsToDatabase(personCategory, personInformation, date):
client = MongoClient('localhost', port#)
db = client.database[personCategory][date]
db.insert({personInformation})
person_to_add = {'Name':'John Smith', 'Phone':'888-888-8888', 'Email':'example@email.com'}
addLeadsToDatabase('Customers', person_to_add, '06/28/2017')
然而,当浏览数据库时,看起来每个[personCategory] [date]都会被保存为单独的集合。而不是先将数据存储在personCategory集合中,然后再存储在日期子集合中。
因此,当我开始展示收藏品时,#p>在MongoDB shell中输出:
Customers.6/25/2017
Employees.6/25/2017
Customers.6/26/2017
Customers.6/27/2017
Employees.6/27/2017
而不仅仅是:
Customers
Employees
将日期类别存储在每个。
中有没有办法按照我描述的方式存储数据,所以每次运行代码并将数据存储在相应的集合中时,它不会创建新的集合?
答案 0 :(得分:0)
请考虑:
from pymongo import MongoClient
def addLeadsToDatabase(personCategory, personInformation):
client = MongoClient('localhost', port#)
db = client.database[personCategory]
db.insert({personInformation})
person_to_add = {'Name':'John Smith', 'Phone':'888-888-8888', 'Email':'example@email.com', 'Date': '06/28/2017' } //I would suggest you to use new Date()
addLeadsToDatabase('Customers', person_to_add)
要点:
保持简单。稍后,您可以按日期过滤,甚至可以按此日期汇总查询。