Alexey
Не соглашусь. Текст лицензии такой, что раскрывать нужно всё.
Будут ли они нападать не на DBaaS? Скорее всего, нет.
Могут ли? Текст лицензии такой, что да, могут.
yopp
Alexey
Право их так делать и зарабатывать деньги никто и не оспаривает
yopp
Самое смешное что для DBaaS исходный код инфраструктуры не является ключевым активом
yopp
Alexey
Двумя параграфами в 13-ом пункте
Alexey
13. Offering the Program as a Service.
If you make the functionality of the Program or a modified version available to third parties as a service, you must make the Service Source Code available via network download to everyone at no charge, under the terms of this License. Making the functionality of the Program or modified version available to third parties as a service includes, without limitation, enabling third parties to interact with the functionality of the Program or modified version remotely through a computer network, offering a service the value of which entirely or primarily derives from the value of the Program or modified version, or offering a service that accomplishes for users the primary purpose of the Program or modified version.
“Service Source Code” means the Corresponding Source for the Program or the modified version, and the Corresponding Source for all programs that you use to make the Program or modified version available as a service, including, without limitation, management software, user interfaces, application program interfaces, automation software, monitoring software, backup software, storage software and hosting software, all such that a user could run an instance of the service using the Service Source Code you make available.
yopp
Для этих двух параграфов есть разъяснение опубликованное на сайте. Плюс если вы очень боитесь, то вы за одно можете запросить официальное письменное разъяснение.
yopp
Так-то весь copyleft достаточно мутный, по этому его в ряде индустрий не используют
Alexey
Я об этом и говорю. Намерения и объяснения – это очень хорошо. Но их можно изменить, не меняя текст лицензии, а суды и юристы будут ориентироваться, в первую очередь, на нормативный текст лицензии
yopp
yopp
И это гораздо большая проблема. Плюс в ряде юрисдикций опубликованная на сайте информация legal binding
yopp
Так что FAQ к лицензии будет конкретным юридическим аргументом
yopp
Чтоб понять что такое споры по вопросам ИС без наработанной практики, можно посмотреть на спор про защиту API между гуглом и ораклом
Alexey
Я полностью с вами согласен
Alexander
Добрый день. Помогите пожалуйста понять в чем дело. У меня есть база auth и коллекция users
Использую mongoose.
Схема такая
login: {
type: String,
required: true,
unique: true,
},
password: {
type: String,
required: true,
select: true,
},
refreshToken: {
type: String,
},
Я создаю первый документ и всё нормально. Но когда создаю второй, уже с другим логином, монго ругается, мол
MongoServerError: E11000 duplicate key error collection: auth.users index: email_1 dup key: { email: null }
Я так понимаю это проблема с дублированием уникального поля email, типа email: null уже есть. Только у меня в схеме коллекции вообще нет поля email, я такое не использую. Что именно я делаю не так? 🤔
Cloud
Добрый день. Помогите пожалуйста понять в чем дело. У меня есть база auth и коллекция users
Использую mongoose.
Схема такая
login: {
type: String,
required: true,
unique: true,
},
password: {
type: String,
required: true,
select: true,
},
refreshToken: {
type: String,
},
Я создаю первый документ и всё нормально. Но когда создаю второй, уже с другим логином, монго ругается, мол
MongoServerError: E11000 duplicate key error collection: auth.users index: email_1 dup key: { email: null }
Я так понимаю это проблема с дублированием уникального поля email, типа email: null уже есть. Только у меня в схеме коллекции вообще нет поля email, я такое не использую. Что именно я делаю не так? 🤔
Удали индекс email_1 в базе.
Если захочешь такое поле, проблема с duplicate null, решается через sparse: true
Alexander
Anonymous
privet vsm
Abdurashid
Добрый день как назначить id элементу в MongoDB
Abdurashid
Например {
"title": "HOT DOG",
"PRICE": 515,
"id": 5},
Бехруз
Abdurashid
Abdurashid
там случайные числа
Abdurashid
нужно сделать по парядку
Бехруз
MongoDB auto increment ID - Stack Overflow
https://stackoverflow.com/questions/21218651/mongodb-auto-increment-id
Abdurashid
Abdurashid
Abdurashid
Abdurashid
Anonymous
Anonymous
в монгусе правда, но думаю можно и без odm как-тоо
Abdurashid
Anonymous
ну да, выключаешь _id и вставляешь id
Дамир
Всем привет. Как в монгузе создать индекс для нескольких полей. Я к примеру пишу
product.index({
title: 'text',
brand: 'text',
category: 'text'
})
В этом случае создается только индекс для title, а дальше выходит ошибка Index already exists with different options
Хамит
ребята, кто нить подымал mongodb в docker контейнере, помогите с соединением вот такая ошибка выходит: UnhandledPromiseRejectionWarning: MongoServerError: Authentication failed.
Хамит
Хамит
Anonymous
подскажите пожалуйста почему ругается?
Anonymous
почему no overload matches, ведь это корректная функция - по крайне мере по доке
ㅤdoomer
здарова ребята, помогите получить ответа на пару вопросов
1 нужно ли валидировать данные на уровне базы через validator.$jsonSchema если также валидируешь в монгусе
2 как в validator.jsonSchema описать зависимости (дока по валидации не покрыла эту информацию полноценно, по крайней мере для меня)?
Alex
Насколько мне известно, мало кто пользуется валидаторами на уровне субд
Alex
Они неудобные и их сложно дебажить
Nick
здарова ребята, помогите получить ответа на пару вопросов
1 нужно ли валидировать данные на уровне базы через validator.$jsonSchema если также валидируешь в монгусе
2 как в validator.jsonSchema описать зависимости (дока по валидации не покрыла эту информацию полноценно, по крайней мере для меня)?
В первую очередь схема на базе это попытка сделать аналог схемы в sql, позволяющей контролировать содержимое полей на уровне БД, а не кода. Это стоит использовать, если в вашем софте нет возможности обеспечить работу с кривыми данными или в БД могут писать мнодество разных скриптов, приложений, польщователей напрямую и нужно перестраховаться, чтобы данные были в нужном виде. Если приклад только один, он использует орм/одм и в нем заложены валидации или на всех этапах до базы данные валидируются, то пользы от схем на базе не будет
Andrew
Всем привет, такой вопрос - у нас в системе есть soft delete на документах в коллекции (просто сетим isDeleted = true), мы храним несколько типов документов в одной коллекции, у некоторых из них есть id на другие документы, которые нужно "каскадно" точно также помечать isDeleted = true. Можно ли это как то реализовать на уровне монги? Похожий концепт на SQL ON DELETE CASCADE, но с софт делитом
Максим
Ребят, всем привет! Какой современный способ или правильный, получить последний элемент из колекции?
Anonymous
db.collection.find({}).sort({_id: -1})
Дальше всё зависит от языка
Anonymous
В Node.JS, допустим, нужно в конце дописать .toArray() и не забыть, что это асинхронная штука, поэтому в начале нужно добавить await, либо вызвать метод then (см. промисы)
Anonymous
В итоге получаешь массив из 1 элемента и тебе нужно получить этот элемент стандартными средствами языка
Максим
так получается это мы всё ровно проходимся по всей коллекции?
Максим
User.find({}).sort({_id: -1})
.then(user => {
res.send(user[0])
})
Максим
так получилось, но я думал есть короче путь
Anonymous
Нет, мы не проходимся по всей коллекции
Anonymous
Монга сама возьмёт именно последний элемент
Joe
Максим
Максим
Максим
надеюсь она всё таки достаёт 1 элемент, а не все. Просто я вообще 0 в монге
ㅤdoomer
Nick
Максим
та просто, самый последний элемент
Nick
та просто, самый последний элемент
просто так последний не получить, только первый через .find({}).limit(1). Но тут надо понимать, что первый - может быть разный в разных запросах и уж тем более если используется шардинг или чтение с реплик
Максим
ну вообще проблема заключалась в том, что когда я создаю элемент, мне сразу же нужно было получить его mongoID. Вот я и пришел к последнему элементу
Anonymous
Это можно сделать проще
Максим
через axios делаю запрос
Anonymous
Максим
хмм
Anonymous
Если JavaScript, то ObjectID должен лежать в пакете mongodb
Чтобы сгенерировать _id, нужно выполнить new ObjectID()
Максим
точно
Anonymous
К тому же insertOne вроде должен возвращать созданный документ. От туда тоже можно получить _id документа
Anonymous
Ребят, вы в курсе, что в корпоративной версии MongoDB можно заставить всю базу храниться в ОЗУ. Значит это хорошая замена redis?
Daniil
Daniil
Для своих задач редис лучше
Simon