有没有办法在mongo的shell中找出文档中的字段/键?举个例子,假设我们有一个类似(伪代码)的文档:
{
"message": "Hello, world",
"from": "hal",
"field": 123
}
Run Code Online (Sandbox Code Playgroud)
我想在shell中运行一个命令,返回该文档中的字段/键列表.例如,像这样:
> var message = db.messages.findOne()
> message.keys()
... prints out "message, from, field"
Run Code Online (Sandbox Code Playgroud)
谢谢!
Wil*_*ald 60
更简单:
Object.keys(db.messages.findOne())
Sha*_*ade 10
一个for ... in循环应该做的伎俩:
> var message = db.messages.findOne();
> for (var key in message) {
... print(key);
... }
Run Code Online (Sandbox Code Playgroud)
其他答案是正确的。
但是,由于我是一个全新的人,所以我不明白上述命令在何处以及如何执行。
下面从我的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]);
}
});
// ------------
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
34256 次 |
| 最近记录: |