1

为什么当我尝试执行与 TMongoWire 演示程序非常相似的操作来加载文档时,会得到不同的结果?在创建页面时,我想获取所有公司名称并将它们(最终)加载到组合框中。这是我正在玩的代码:

d:=BSON;
q:=TMongoWireQuery.Create(MongoWire);
try
  q.Query('mwx1.companies',nil);
  while q.Next(d) do
  begin
    s := BsonToJson(d);
    sl.add(d['CompanyName']);
    sl.Add(TBSONDocument(d).item['CompanyName'])
  end;
finally
  q.Free;
end;

在我将 JSON 分配给 S 时,JSON 是完全正确的,并且 CompanyName 中有数据。那条线仅用于测试。但是接下来的两行都没有产生任何结果(尝试了各种方法来获取数据),因为它说该值为空。如果我检查 TBSONDocument(d) 它会显示所有正确的信息。所以我很困惑为什么它不起作用。有什么线索吗?

它一开始是一个空的 BSON,但是当它在第一次迭代的循环中时,它包含

'{"_id":"ObjectID(\"524547512dcf91c1dc7476cb\")","Email":"2324","CompanyName":"T‌​est 1","Addr1":"fs","Addr2":"ertert ","城市":"iukuiuiku","州":"uikuiku","邮编":"dsf‌​","国家":"ff","电话":"fdsd","销售人员":"sds" ,"ContactPhone":"sdf","Contact‌​Email":"fsdf","ContactName":"f","DateCreated":"g2","website":"34","SMS":"23" ,"Log‌​o":"23423","Status":"qwqw","Keywords":"3423","Shortcode":"qwqw","ParentID":"阿斯达"‌​}'

4

0 回答 0