0
我刚开始使用MongoDB,所以我很抱歉,如果这是一个明显或简单的问题。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':'[email protected]'}
addLeadsToDatabase('Customers', person_to_add, '06/28/2017')
但是导航时通过数据库,它看起来像每个[personCategory] [日期]被保存为一个单独的集合。而不是先将数据存储在personCategory集合中,然后再存储在日期子集合中。
因此当我在MongoDB中运行 '节目集合' 外壳它输出:
Customers.6/25/2017
Employees.6/25/2017
Customers.6/26/2017
Customers.6/27/2017
Employees.6/27/2017
而不是仅仅:
Customers
Employees
与存储在每个日期类别。
有没有一种方法可以按照我所描述的方式存储数据,所以每次运行代码并将数据存储在相应集合中时都不会创建新集合?
谢谢您的意见。然而,信息的“类型”客户和员工并不是我正在使用的实际数据。我将每周收集20k条不同的数据,“日期”是一个重要的分类要素。我担心如果将这些数据存储在一起会减慢查询速度。因此,我认为最好将它按日期分开,以便每个集合限制为20k条数据,并且在每个集合中查询会更快。另外,我很确定MongoDB在一个集合中限制了MB。 – learningToCode54321
对不起,如果我的替换数据的类型分散了'技术'问题,因为你的答案似乎考虑到了存储数据的实际含义。 – learningToCode54321
呃..你说你有这个客户。2017/6/25,而不是客户。那是什么使混淆。我从来没有见过子集合,如果存在,我会很好奇。 – Cleriston