Zajmuję ten kawałek oprogramowania w węzeł i MongoDB, w którym w zasadzie chcesz przechowywać wersje pakietów z następującą strukturą:Jak radzić sobie z kropkami w nazwach kluczy MongoDB?
{
"versions":
{
"1.2.3": { stuff }
}
}
(podobny do sposobu npm robi rzeczy na kanapie)
Problem polega na tym, że kiedy aktualizowałem MongoDB, odkryłem, że nie pozwala to na kropki w nazwach kluczy (ze względu na istniejącą notację kropkową), co powoduje błąd mojego kodu. Po zbadaniu tego wszystkiego, jedyne, co mogłem znaleźć, to to, że musisz przekształcić kropki na inną postać przed zapisaniem w bazie danych, a następnie przekształcić je z powrotem podczas uzyskiwania dostępu. Czy naprawdę nie ma lepszego sposobu, aby sobie z tym poradzić?
Jeśli nie jest, w jaki sposób mogę wykonać tę transformację bez kopiowania danych na inny klucz i usuwania oryginału?
Czy mówisz, że masz już takie dane w Mongo? To nie powinno być możliwe nawet przed aktualizacją. Z jakiej wersji korzystałeś? – Thilo
@Thilo Tak naprawdę nie pamiętam, ale mógł to być sterownik, który był błędny i zezwolił na to. – jli
@ c0deNinja To pozwala mi sprawdzić nazwę wersji bez iteracji przez całą gamę potencjalnie bardzo wielu wersji. – jli