Подтвердить что ты не робот

Работает ли вставка нескольких документов в коллекции Meteor так же, как чистый mongodb?

Кажется, я не могу сделать множественную вставку в Meteor так же, как описанный здесь в документации Mongodb...

В моей консоли js:

> Test.insert([{name:'hello'},{name:'hello again'}])

Он возвращает

  "g3pq8GvWoJiWMcPkC"

И когда я иду

Test.find().fetch()

Я получаю следующее:

Object
0: Object
name: "hello"
__proto__: Object
1: Object
name: "hello again"
__proto__: Object
_id: "g3pq8GvWoJiWMcPkC"
__proto__: Object

Кажется, Meteor создает супер-документ, охватывающий два, которые я пытаюсь вставить как отдельные.

Может ли кто-нибудь сказать мне, что я здесь делаю неправильно?

4b9b3361

Ответ 2

Вы всегда должны использовать объемную вставку для этих целей. Метеор не поддерживает это из коробки. Вы можете использовать плагин пакетной вставки или получить доступ к драйверу node Mongodb, чтобы сделать это изначально:

var items = [{name:'hello'},{name:'hello again'}],

    testCollection = new Mongo.Collection("Test"),
    bulk = testCollection.rawCollection().initializeUnorderedBulkOp();

for (var i = 0, len = items.length; i < len; i++) {
    bulk.insert(  items[i] );
}

bulk.execute();

Обратите внимание, что это работает только на mongoDB 2.6 +