我似乎无法在Meteor中进行多次插入,就像在Mongodb文档中描述的那样...
在我的js控制台中:
> Test.insert([{name:'hello'},{name:'hello again'}])
它回来了
"g3pq8GvWoJiWMcPkC"
Run Code Online (Sandbox Code Playgroud)
当我走的时候
Test.find().fetch()
我得到以下内容:
Object
0: Object
name: "hello"
__proto__: Object
1: Object
name: "hello again"
__proto__: Object
_id: "g3pq8GvWoJiWMcPkC"
__proto__: Object
Run Code Online (Sandbox Code Playgroud)
似乎Meteor创建了一个超级文档,其中包含我试图作为单独插入的两个文档.
有人能告诉我这里我做错了什么吗?
Pra*_*ant 25
从Meteor排行榜示例代码中,看起来您无法批量插入.您可以使用循环或下划线迭代功能.
使用下划线,
var names = [{name:'hello'},{name:'hello again'}]
_.each(names, function(doc) {
Test.insert(doc);
})
Run Code Online (Sandbox Code Playgroud)
您应该始终使用批量插入这些东西.Meteor并不支持开箱即用.您可以使用批量插入插件或访问节点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();
Run Code Online (Sandbox Code Playgroud)
请注意,这仅适用于mongoDB 2.6+
| 归档时间: |
|
| 查看次数: |
7859 次 |
| 最近记录: |