簡體   English   中英

如何使用RMongo發送多個文檔

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM