I have a document that can have dynamic key names:
{
\"_id\" : ObjectId(\"51a29f6413dc992c24e0283e\"),
\"envinfo\" : {
\"appName\" : \"MyJavaApp\",
\
This is one way of doing it. There may be other better ways.
Create a map of attributes and store the map in mongo.
public class Env {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private ObjectId id;
@Field
private Envinfo envinfo;
public static class Envinfo {
@Field
private String appName;
@Field
private Map attributes;
}
}
If you know the keys in advance, you may add those attributes in Envinfo and keep those out of attributes map.