如何从mongodb的表中读取各字段对应的类型

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从mongodb的表中读取各字段对应的类型相关的知识,希望对你有一定的参考价值。

mysql那样的某字段类型为double,string等

参考技术A 你说的各字段是什么
mongodb以collection(也可以说是传统数据库中的表)划分存储的数据,对应于传统数据中的row,每一行称为一个document,一个document里是一组key-value的键值对,你指的是不是这种键值对?
如果是的话请参考http://www.mongodb.org/display/DOCS/Tutorial
最简单的命令db.foo.find(key:value)可找出当前数据库下名称为foo的collection中键为key,值为value的数据。
如果你连如何mongodb shell都不会,请先阅读mongodb的官方文档,见参考资料追问

我指的就是collection里的数据,获取后想要在页面上展现,列出其值和类型.但是不知道怎样用java语句获取其类型.我要做的是一个数据库工具,实现CURD

追答

NoSql的最大特点就是列的水平扩展能力,所以它的key(也就是类型)是不确定的,这种以BSON作为数据格式的数据库在读取时,必须明确给出它的key才能查询。
因此,你是无法从一个collection中查询他有什么key的,相关资料你可去查询一下BSON和xml存储数据的优缺点比较。

还没明白么,总之你说的是不能实现的,必须明确了你数据库中有什么类型才能查询!

参考资料:http://www.mongodb.org/display/DOCS/Home

本回答被提问者采纳
参考技术B 您好,请问你这问题解决了嘛?获取他的字段以及字段类型

SQL从vb中的表中读取数据

【中文标题】SQL从vb中的表中读取数据【英文标题】:SQL read data from table in vb 【发布时间】:2009-05-23 01:04:18 【问题描述】:

我正在尝试从数据中获取单个字段。 (我正在按主键搜索,所以我应该得到 0 或 1 个答案)。请帮忙。我正在查询的表有一个用户 = 某人的条目,输入到几列,其中 ans 列具有“一个好的答案”


代码:

Dim reader As SqlDataReader
Dim par As SqlParameter
Dim result As String
   
Dim sqlconn As SqlConnection
sqlconn = New SqlConnection("....")
sqlconn.Open()

Dim sqlcmd As SqlCommand
sqlcmd = New SqlCommand("Select Ans From Test Where User = @auser", sqlconn)

par = New SqlParameter
par.ParameterName = "auser"
par.Value = Textbox1.Text

sqlcmd.Parameters.Add(par)
  
reader = sqlcmd.ExecuteReader()

result = reader.GetString(0)

''//output to label
label1.Text = result

【问题讨论】:

无数据时读取无效 【参考方案1】:

您需要先读取数据读取器才能将其放在第一行。

所以不是

reader = sqlcmd.ExecuteReader()    
result = reader.GetString(0)

您可以像这样插入 Read() 方法:

reader = sqlcmd.ExecuteReader()    
if reader.Read() then '' <<<<< newly inserted code
    result = reader.GetString(0)
end if

【讨论】:

不是我想要的……但没有错误!在正确方向迈出的一步!谢谢!【参考方案2】:
''// using statement will guarantee the object is closed and disposed
''// even if an exception occurs
Using sqlconn As New SqlConnection("...."), _
      sqlcmd As  New SqlCommand("Select Ans From Test Where User = @auser", sqlconn)

    ''// you can create, add, and set the value for a parameter all on one line
    sqlcmd.Parameters.Add("@auser", SqlDbType.VarChar, 50).Value = Textbox1.Text

    ''//wait as long as possible to open the connection
    sqlconn.Open() 

    ''// if you're only getting the first column of the first row, use execute scalar
    label1.Text = CString(sqlcmd.ExecuteScalar())

End Using

【讨论】:

以上是关于如何从mongodb的表中读取各字段对应的类型的主要内容,如果未能解决你的问题,请参考以下文章

java如何获得数据库表中各字段的字段名

MYSQL如何查询表中字段类型TYPE=date的字段信息?

读取 pyspark 数据框中的 jsonb 类型字段? [复制]

如何将oracle表中的字段由integer 转变为varchar2(50)

oracle中LOBSEGMENT类型存储的clob的内容过大,如何清除clob字段内容。释放表空间!

SQL语句怎样进行数据库字段的条件查询?