เป็นไปได้ไหมที่จะแสดงคอลเลกชันทั้งหมดและเนื้อหาใน MongoDB?
เป็นวิธีเดียวที่จะแสดงทีละคน?
เป็นไปได้ไหมที่จะแสดงคอลเลกชันทั้งหมดและเนื้อหาใน MongoDB?
เป็นวิธีเดียวที่จะแสดงทีละคน?
คำตอบ:
เมื่อคุณอยู่ในเทอร์มินัล / บรรทัดคำสั่งเข้าถึงฐานข้อมูล / คอลเลกชันที่คุณต้องการใช้ดังต่อไปนี้:
show dbs
use <db name>
show collections
เลือกคอลเล็กชันของคุณและพิมพ์รายการต่อไปนี้เพื่อดูเนื้อหาทั้งหมดของคอลเล็กชันนั้น
db.collectionName.find()
ข้อมูลเพิ่มเติมที่นี่บนMongoDB คู่มืออ้างอิงด่วน
db.collectionName.find().pretty()
db["collection-name"].find()
ขั้นตอนที่ 1: ดูฐานข้อมูลทั้งหมดของคุณ:
show dbs
ขั้นตอนที่ 2: เลือกฐานข้อมูล
use your_database_name
ขั้นตอนที่ 3: แสดงคอลเลกชัน
show collections
นี่จะแสดงรายการคอลเล็กชันทั้งหมดในฐานข้อมูลที่คุณเลือก
ขั้นตอนที่ 4: ดูข้อมูลทั้งหมด
db.collection_name.find()
หรือ
db.collection_name.find().pretty()
db.<collection_name>.find();
var collections = db.getCollectionNames();
for(var i = 0; i< collections.length; i++){
print('Collection: ' + collections[i]); // print the name of each collection
db.getCollection(collections[i]).find().forEach(printjson); //and then print the json of each of its elements
}
ฉันคิดว่าสคริปต์นี้อาจได้รับสิ่งที่คุณต้องการ มันพิมพ์ชื่อของแต่ละคอลเลกชันแล้วพิมพ์องค์ประกอบใน json
ขั้นตอนที่ 1: ป้อนลงในเชลล์ MongoDB
Mongo
ขั้นตอนที่ 2: สำหรับการแสดงฐานข้อมูลทั้งหมด
แสดง dbs;
ขั้นตอนที่ 3: สำหรับฐานข้อมูลที่เลือก:
ใช้ 'database_name'
ขั้นตอนที่ 4: สำหรับสถิติฐานข้อมูลของคุณ
db.stats ()
ขั้นตอนที่ 5: รายการคอลเลกชันทั้งหมด (ตาราง)
แสดงคอลเล็กชัน
ขั้นตอนที่ 6: พิมพ์ข้อมูลจากการรวบรวมเฉพาะ
db.'collection_name'.find (). สวย ()
ก่อนที่จะเขียนแบบสอบถามด้านล่างก่อนเข้าไปใน cmd หรือ PowerShell ของคุณ
TYPE:
mongo //To get into MongoDB shell
use <Your_dbName> //For Creating or making use of existing db
ในการแสดงชื่อคอลเลกชันทั้งหมดให้ใช้ชื่อใดก็ได้จากตัวเลือกด้านล่าง: -
show collections //output every collection
OR
show tables
OR
db.getCollectionNames() //shows all collections as a list
หากต้องการแสดงเนื้อหาหรือข้อมูลทั้งหมดของคอลเลกชันให้ใช้โค้ดด้านล่างที่ได้รับการโพสต์โดย Bruno_Ferreira
var collections = db.getCollectionNames();
for(var i = 0; i< collections.length; i++) {
print('Collection: ' + collections[i]); // print the name of each collection
db.getCollection(collections[i]).find().forEach(printjson); //and then print the json of each of its elements
}
ทางนี้:
db.collection_name.find().toArray().then(...function...)
สิ่งนี้จะทำ:
db.getCollectionNames().forEach(c => {
db[c].find().forEach(d => {
print(c);
printjson(d)
})
})
ฉันชอบวิธีอื่นถ้าคุณใช้mongo
เชลล์:
ก่อนอื่นเป็นคำตอบอื่น: use my_database_name
จากนั้น:
db.getCollectionNames().map( (name) => ({[name]: db[name].find().toArray().length}) )
ข้อความค้นหานี้จะแสดงให้คุณเห็นดังนี้:
[
{
"agreements" : 60
},
{
"libraries" : 45
},
{
"templates" : 9
},
{
"users" : 18
}
]
คุณสามารถใช้วิธีการที่คล้ายกันกับdb.getCollectionInfos()
มันค่อนข้างมีประโยชน์ถ้าคุณมีข้อมูลมากมาย
count()
แทนfind()
:db.getCollectionNames().map( (name) => ({[name]: db[name].count()}) )