有没有办法在mongo的shell中找出文档中的字段/键?举个例子,假设我们有一个类似(伪代码)的文档:
{ "message": "Hello, world", "from": "hal", "field": 123 }
我想在shell中运行一个命令,返回该文档中的字段/键列表.例如,像这样:
> var message = db.messages.findOne() > message.keys() ... prints out "message, from, field"
谢谢!
更简单:
Object.keys(db.messages.findOne())
一个for ... in
循环应该做的伎俩:
> var message = db.messages.findOne(); > for (var key in message) { ... print(key); ... }
其他答案是正确的。
但是,由于我是一个全新的人,所以我不明白上述命令在何处以及如何执行。
下面从我的github帮助了。
在Windows上:在命令提示符(cmd)中运行此代码。
在Mac或Linux上:在终端窗口中运行此代码。
// ------------ // start mongo client mongo // ------------ // list all databases show dbs // NOTE: assume one of the databases is myNewDatabase // use the 'myNewDatabase' database use myNewDatabase // ------------ // show all collections of 'myNewDatabase' database show collections // NOTE: assume one of the collections is 'myCollection' // show all documents of 'myCollection' collection db.myCollection.find() // ------------ // field keys Object.keys(db.myCollection.findOne()); // values db.myCollection.find().forEach(function(doc) { for (field in doc) { print(doc[field]); } }); // ------------