http://docs.mongodb.org/manual/reference/method/db.collection.insert/の規則に従って、
RMongo::dbInsertDocument の 1 回の呼び出しで複数のドキュメントのバッチを送信しています。
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 への同じ呼び出しはエラーなしで機能します (データは実際にデータベースに送信されます)。