Robo3T будет вставлять только первый JSON объект, но не второй? - PullRequest
0 голосов
/ 06 апреля 2020

Я пытаюсь вставить документ в коллекцию в Robo3T. У меня есть скрипт вроде:

db.permissions.insert({
    "_id" : "INS-SH-V",
    "name" : "View Sharing Functionality",
},
{
    "_id" : "INS-SH-U",
    "name" : "Manage Sharing Functionality",
});

Но он будет вставлять только документ «INS- SH -V», но не второй. Я пытался поставить .insertMany или {multi:true} в конце тоже, но, похоже, ничего не работает.

Когда я делаю insertMany, он возвращает что-то вроде этого:

db.getCollection('permissions').insertMany({
    "_id" : "INS-SH-V",
    "name" : "View Sharing Functionality",
    "description" : "Access to view Email and Schedule windows in Insights",
},
{
    "_id" : "INS-SH-U",
    "name" : "Manage Sharing Functionality",
    "description" : "Access to send emails and schedule jobs in Insights",
})

error

Когда я использую {multi:true} или в основном

db.getCollection('permissions').insert({
    "_id" : "INS-SH-V",
    "name" : "View Sharing Functionality",
},
{
    "_id" : "INS-SH-U",
    "name" : "Manage Sharing Functionality",
}, {multi:true})

Будет добавлен только первый документ «INS- SH -V», но не другой.

Ответы [ 2 ]

0 голосов
/ 06 апреля 2020

Итак, после небольшого копания я обнаружил, что должен передать первый аргумент в виде массива. Это был последний результат, который работал:

db.getCollection('permissions').insert([{
    "_id" : "INS-SH-V",
    "name" : "View Sharing Functionality",
},
{
    "_id" : "INS-SH-U",
    "name" : "Manage Sharing Functionality",
}])
0 голосов
/ 06 апреля 2020

Пожалуйста, прочитайте документацию о db.collection.insertMany().

Метод insertMany () имеет следующий синтаксис:

db.collection.insertMany(
   [ <document 1> , <document 2>, ... ],
   {
      writeConcern: <document>,
      ordered: <boolean>
   }
)

insertMany ожидает массив.

db.getCollection('permissions').insert([{
    "_id" : "INS-SH-V",
    "name" : "View Sharing Functionality",
},
{
    "_id" : "INS-SH-U",
    "name" : "Manage Sharing Functionality",
}])
...