2011-07-25 162 views
5

可以理解的是,由于数据库模式较少,因此我们无法使用 但是,如果我们创建一个记录,例如db.collectionname.findOne(),则它不会少于模式。它具有固定的属性。我如何得到这个属性更少?从mongodb对象获取属性列表

回答

8

的代码:

> db.mycoll.insert({num:3, text:"smth", date: new Date(), childs:[1,2,3]}) 
> var rec = db.mycoll.findOne(); 

> for (key in rec) { 
    var val = rec[key]; 
    print(key + "(" + typeof(val) + "): " + val) } 

将打印:

_id(object): 4e2d688cb2f2b62248c1c6bb 
num(number): 3 
text(string): smth 
date(object): Mon Jul 25 2011 15:58:52 GMT+0300 
childs(object): 1,2,3 

(JavaScript的阵列和日期只是 “对象”)

此仅示出了顶层的 “模式”,如果你想更深入地看,需要一些递归树形行走功能。