首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用RMongo发送多个文档

如何使用RMongo发送多个文档
EN

Stack Overflow用户
提问于 2013-10-24 19:11:22
回答 1查看 465关注 0票数 2

我遵循了http://docs.mongodb.org/manual/reference/method/db.collection.insert/的约定

在一次RMongo::dbInsertDocument调用中发送一批多个文档。

代码语言:javascript
复制
data=data.frame(A=c(1,2),B=c(3,4))  
L=lapply(split(data,rownames(data)),as.list)  
names(L)=NULL  
dataJSON = toJSON(L)  
cat(dataJSON)  

这给出了以下结果:

代码语言:javascript
复制
[  
 {  
  "A":1,
  "B":3
 },
 {
  "A":2,
  "B":4
 }
]

然后

代码语言:javascript
复制
dbInsertDocument(rmongo.object=myRmongo.object, collection=myCollection, doc=dataJSON)

返回以下错误:

代码语言:javascript
复制
Error in ls(envir = envir, all.names = private) :  
invalid 'envir' argument

请注意,如果我替换

代码语言:javascript
复制
L = L[[1]

然后

代码语言:javascript
复制
cat(dataJSON)  

给出以下结果:

代码语言:javascript
复制
{  
 "A":1,
 "B":3
}

并且对dbInsertDocument的调用没有任何错误(数据确实被发送到数据库)

EN

回答 1

Stack Overflow用户

发布于 2014-03-30 04:38:13

有没有人想通了?我真的希望有一种更好的方法来做到这一点,但现在我只是在列表中循环(不理想)。

代码语言:javascript
复制
data=data.frame(A=c(1,2),B=c(3,4))  
L=lapply(split(data,rownames(data)),as.list)  
names(L)=NULL  
for (i in 1:NROW(L)) {
    dataJSON = toJSON(L[[i]])  
    output <- dbInsertDocument(mongo, "test_data7", dataJSON)
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19564321

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档