2016-03-03 22 views
0

我遇到了一個問題,當我嘗試執行批量操作時沒有定義mongodb/meteorangular。db沒有定義 - initializeOrderedBulkOp()

我的模型如下:

Tests = new Mongo.Collection('tests'); 

我的電話:

var bulk = db.collection('tests').initializeOrderedBulkOp(); 
     ............ 
     ............ 
    bulk.execute(); 

甚至有流星使用這個功能嗎?看起來不像我有一個錯字。

謝謝幫助

+0

這是可用的,但你可以在「服務器」端的「客戶端」只使用,而不是(瀏覽器)。它需要一點點的操作,但如果這是你打算使用它的地方就可以完成。 –

+0

是的,現在正在嘗試。我在做正確的公式時得到了「僅在服務器上」的錯誤,如果我成功了,我會在完成後更新帖子。 – user697

+0

那麼「只有在服務器上」意味着它說什麼。你不能在「minimongo」(這是瀏覽器端庫)中使用它。如果你想要一個直接從「服務器」執行的調用,那麼這完全是另一回事,而且相對簡單。只要你從驅動程序中獲取底層的'collection'或'database'對象,而不是使用'Meteor.collection'接口。 –

回答

0

在服務器上(不會在客戶端上運行):

Tests = new Mongo.Collection('tests'); 

相反的:

var bulk = db.collection('tests').initializeOrderedBulkOp(); 

var bulk = Tests.rawCollection().initializeUnorderedBulkOp(); 

而不是

bulk.execute(); 

Meteor.wrapAsync(bulk.execute)();