为什么BSON Null?

时间:2013-09-27 10:00:31

标签: json delphi mongodb

为什么当我尝试执行与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开始,但是当它在第一次迭代的循环中时它包含了BSON

  

'{“_ id”:“ObjectID(\”524547512dcf91c1dc7476cb \“)”,“电子邮件”:“2324”,“CompanyName”:“T est 1”,“Addr1”:“fs”,“Addr2” : “ertert”, “城市”: “iukuiuiku”, “国家”: “uikuiku”, “邮编”: “DSF”, “国家”: “FF”, “电话”: “FDSD”, “业务员”: “SDS”, “ContactPhone”: “自卫队”, “联系人电子邮件”: “fsdf”, “联系人姓名”: “F”, “dateCreated会”: “G2”, “网站”: “34”, “短信”: “23”, “日志○”: “23423”, “状态”: “qwqw”, “关键词”: “3423”, “简码”: “qwqw”, “PARENTID”: “ASDA”}“< / p>

0 个答案:

没有答案