gpt4 book ai didi

delphi - 如何使用 TmongoWire 插入和加载 TFileStream

转载 作者:行者123 更新时间:2023-12-03 18:48:57 26 4
gpt4 key购买 nike

我使用 Delphi 和 TmongoWire。我想插入 TFileStream (picture, pdf)在 MongoDb 服务器上使用 TmongoWire。我的工作基于这个演示文件:Delphi MongoDB driver

 d:=BSON([
'id',mongoObjectID,
'name',ItemForm.txtName.Text,
'address',ItemForm.txtAddress.Text,
'phone',ItemForm.txtPhone.Text,
'picture', TFileStream.Create('C:\temp\mongotest.jpeg', fmOpenRead or fmShareDenyWrite)
]);
FMongoWire.Insert(mwx1Collection,d);
//LoadItems;
LoadItem(ListView1.Items.Add,d);
UpdateCount;}

插入流文件不起作用,有人可以看看为什么吗?

程序无法编译:错误 --> 无法使用这些参数调用 BSON

插入一个简单的文本字段没有问题(代码如下):
    d:=BSON([
'id',mongoObjectID,
'name',ItemForm.txtName.Text,
'address',ItemForm.txtAddress.Text,
'phone',ItemForm.txtPhone.Text
]);

谢谢

最佳答案

请引用本教程:http://owlyci.com/docs/articles/WorkingWithGridFS

在 GridFS 中,文件由名称(或 _id 在极少数情况下)引用,因此您应该使用一些文件名(aaa.jpg、81276482634823.dat 或任何其他)将流保存到 GridFS,然后将此文件名存储到您的集合中

d:=BSON([
'id',mongoObjectID,
'name',ItemForm.txtName.Text,
'address',ItemForm.txtAddress.Text,
'phone',ItemForm.txtPhone.Text,
'picture', 'aaa.jpg'
]);

关于delphi - 如何使用 TmongoWire 插入和加载 TFileStream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19452557/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com