[英]How to send multiple documents using RMongo
我遵循http://docs.mongodb.org/manual/reference/method/db.collection.insert/中的約定
在一次調用RMongo :: dbInsertDocument中發送一批多個文檔。
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)
得到以下結果:
[
{
"A":1,
"B":3
},
{
"A":2,
"B":4
}
]
然后
dbInsertDocument(rmongo.object=myRmongo.object, collection=myCollection, doc=dataJSON)
返回以下錯誤:
Error in ls(envir = envir, all.names = private) :
invalid 'envir' argument
請注意,如果我更換
L = L[[1]
然后
cat(dataJSON)
給出以下結果:
{
"A":1,
"B":3
}
並且對dbInsertDocument的相同調用沒有任何錯誤(並且確實將數據發送到了數據庫)
有人知道嗎? 我確實希望有一個更好的方法來執行此操作,但現在只是遍歷列表(不理想)
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)
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.