【发布时间】:2018-09-26 08:21:37
【问题描述】:
我们正在存储具有未定义结构的文档。我的意思是,它有一个基本结构(id、user 和creationTimestamp),但也有一个Map<String, Object> values 字段,我们可以在其中存储任何结构:
public class Metadata {
private String id;
private String user;
private Date creationTimestamp;
private Map<String, Object> values;
}
例子:
> db.metadata.find();
{
"_id" : "Doc2Ref2Mdt1",
"user" : "user1",
"creationTimestamp" : ISODate("2018-09-24T12:20:56.958Z"),
"values" : {
"ambit" : "ctti",
"departament" : "economia"
}
},
{
"_id" : "Doc1Ref2Mdt1",
"user" : "user2",
"creationTimestamp" : ISODate("2018-09-24T12:20:56.169Z"),
"values" : {
"date" : ISODate("2018-09-24T12:20:56.171Z"),
"number" : 16,
"address" : {
"street" : "Av. Diagonal",
"location" : "barcelona",
"credentials" : [
{
"password" : "pwd",
"login" : "main"
},
{
"password" : "pwd",
"login" : "other",
"creation" : ISODate("2018-09-24T12:20:56.171Z")
}],
"contact" : "contact name",
"tags" : ["tag1", "tag2"}]
}
}
所以,你可以看到values 可以存储任何结构。
我需要知道 mongodb 是否能够自动索引所有这些。
我的意思是,当一个新字段“添加”到values 中时,例如values.newfield,它会自动被索引。
有什么想法吗?
【问题讨论】:
标签: mongodb mongodb-query mongodb-indexes