У меня есть вопрос о MongoDB id для grails. Я использовал String id в классе домена, он создавал бы строковый идентификатор в классе домена, который был бы точным. Но когда я вставляю записи в mongodb mannually (запустите db.Things.insert()), он создаст ObjectId (который не является String) для новой записи, интересно, как мы могли бы решить эти проблемы.Плагин MongoDB Grails ObjectId V.S. Строка id
спасибо!
Подождите ваше название говорит ObjectID против строки ид но ваш вопрос говорит, как предотвратить MongoDB от вставки ObjectID по умолчанию, который является его ? – Sammaye
Неплохо, мой вопрос заключается в том, как сделать вставку данных согласованной между генерацией граалов и генерацией уровня mongodb. Из-за двух разных типов идентификаторов (String и ObjectId) это может быть проблемой при поиске записей, вот что я хочу спросить: как я могу устранить несогласованность для уровня Grails и уровня mongoDb? – lorixx
Единственный способ действительно потребовать, чтобы консоль MongoDB вводила его так же, как и ваш плагин Grails. Хммм, вы можете сделать оболочку для функции вставки, которая всегда будет определять вставка '_id' в качестве строки. Это то, что вам нужно добавить дополнительное поле в документ при вставке '_id', а консоль MongoDB будет вставлять ваш' _id' вместо своего. – Sammaye