包含 10000 个项目的列表,如何在cloud_firestore中插入此列表


var list = List<int>.generate(10000, (i) => i = i+1);
Map<String, String> Data = <String,String>{
'1': '',
'2': '',
'3': '',
'4': '',
'5': '',
'6': '',
'7': '',
'8': '',
'9': '',
'10': '',
};

像这样,我想使用 Flutter 将云火库中的所有 10000 个值插入到单个文档中,如何为此编写查询?

我不确定您是尝试将 10,000 个字段写入单个文档还是将 10,000 个元素的数组写入单个文档。两件截然不同的事情。

使用包含大量元素的单个数组字段编写单个文档,您可以这样做:

var data = {'arrayField': longList}; 
db.collection('myCollection').doc().set(data)
.then(() => {
console.log('Document added');
})
.catch((error) => {
console.error('Error adding document: ', error);
});

Firestore 文档也非常好。以下是有关添加数据的页面:https://firebase.google.com/docs/firestore/manage-data/add-data

将数据列表存储在变量中,然后使用以下代码可以将列表插入数据库:

DocumentReference documentReference=FirebaseFirestore.instance.collection('yourCollectioName').doc();
documentReference.set({
'id':documentReference.id,
'data':FieldValue.arrayUnion([a]),//replace a with your list variable
}).catchError((e)=>print(e));

但请注意,文档的最大大小可以1 MiB.请参阅此文档

您可以在 firestre 中使用数组字段

var list = List<int>.generate(10000, (i) => i = i+1);
FirebaseFirestore.instance
.collection('COLLECTION_NAME')
.doc("YOUR_DOCUMENT_ID")
.update({cart': FieldValue.arrayUnion([list])

COLLECTION_NAME更改为collection nameYOUR_DOCUMENT_ID更改为所需的Document id

最新更新