所以我有一个应用程序,它使用MongoDB作为数据库.该应用程序使用了几个集合.
何时以及如何定义数据库的"模式",包括设置所有集合以及所需的索引?
好了,您无法在MongoDB中定义空集合(如果我错了,请纠正我,如果我能做到这一点,它将基本上回答这个问题).我应该 for each 集合插入一个伪值,并使用它来设置所有索引吗?
这方面的最佳实践是什么?
所以我有一个应用程序,它使用MongoDB作为数据库.该应用程序使用了几个集合.
何时以及如何定义数据库的"模式",包括设置所有集合以及所需的索引?
好了,您无法在MongoDB中定义空集合(如果我错了,请纠正我,如果我能做到这一点,它将基本上回答这个问题).我应该 for each 集合插入一个伪值,并使用它来设置所有索引吗?
这方面的最佳实践是什么?
您不能在MongoDB中创建集合
现在来定义"模式".正如我所说,你只需要开始使用一个集合,所以,如果你需要确保一个索引,那就继续这样做吧.没有Collection 创建.第一次修改任何集合(创建索引计数)时,都将有效地创建该集合.
> db.no_such_collection.getIndices()
[ ]
> db.no_such_collection.ensureIndex({whatever: 1})
> db.no_such_collection.getIndices()
[
{
"v" : 1,
"key" : {
"_id" : 1
},
"ns" : "test.no_such_collection",
"name" : "_id_"
},
{
"v" : 1,
"key" : {
"whatever" : 1
},
"ns" : "test.no_such_collection",
"name" : "whatever_1"
}
]