Вставка чисел в коллекцию mongo-db

#arrays #mongodb

#массивы #mongodb

Вопрос:

В настоящее время я изучаю Mongo DB и пытаюсь вставить числа в свою коллекцию «numbers» (в командной оболочке mongo).

 //This works : 
db.numbers.insertMany([{"number":1},{"number":2}]);

//This doesn't 
db.numbers.insertMany([1,2,3,4,5,6]);
  

(1) Означает ли это, что number не является действительным документом или мне не хватает очень простой концепции?

(2) Почему Mongo-db не присваивает Object-ID номерам автоматически в этом случае?

Комментарии:

1. «Означает ли это, что number не является допустимым документом» — да. Это не документ, это число.

Ответ №1:

 //actual output from Mongoshell version 4.2.6 command line
> db.numbers.insertMany([{"number":1},{"number":2}]);
{
        "acknowledged" : true,
        "insertedIds" : [
                ObjectId("5f79fa89d04cd9e2b3acbf03"),
                ObjectId("5f79fa89d04cd9e2b3acbf04")
        ]
}
> db.numbers.find();
{ "_id" : ObjectId("5f79fa89d04cd9e2b3acbf03"), "number" : 1 }
{ "_id" : ObjectId("5f79fa89d04cd9e2b3acbf04"), "number" : 2 }
> db.numbers.insertOne({number:[1,2,3,4,5,6]});
{
        "acknowledged" : true,
        "insertedId" : ObjectId("5f79fa9ed04cd9e2b3acbf05")
}
> db.numbers.find();
{ "_id" : ObjectId("5f79fa89d04cd9e2b3acbf03"), "number" : 1 }
{ "_id" : ObjectId("5f79fa89d04cd9e2b3acbf04"), "number" : 2 }
{ "_id" : ObjectId("5f79fa9ed04cd9e2b3acbf05"), "number" : [ 1, 2, 3, 4, 5, 6 ] }
>
  

Комментарии:

1. Спасибо @Mallik, но это не отвечает на мой вопрос, в вашем случае вы создаете другую коллекцию с именем «number» внутри коллекции «numbers». У меня возникают сомнения, почему не работает следующая строка: db.numbers.insertMany([1,2,3,4,5,6]);

2. какую ошибку вы получаете для db.numbers.insertMany([1,2,3,4,5,6]);? Я думаю, что ошибка ответит на ваш запрос.

3. Я получаю эту ошибку в 4.4.1 db.numbers.insertMany([1,2,3,4,5,6]); > db.version() 4.4.1 > db.numbers.insertMany([1,2,3,4,5,6]); неперехваченное исключение: Ошибка: аргумент, переданный addIdIfNeeded, не является объектом :