ใน MongoDB Shell สามารถสลับฐานข้อมูลได้โดยใช้เมธอด getSiblingDB() ซึ่งคืนค่าเป็นอ็อบเจกต์ฐานข้อมูลที่สามารถกำหนดให้ตัวแปรได้
ไวยากรณ์
var anyVariableName = db.getSiblingDB('yourDatabaseName');
ตัวอย่างการใช้งาน
> selectedDatabase = db.getSiblingDB('sample');
Sample
เพิ่มข้อมูลในคอลเลกชันของฐานข้อมูลที่เลือก
> db.selectDatabaseDemo.insertOne({"ClientName":"John Smith","ClientAge":23});
{ "acknowledged": true, "insertedId": ObjectId("5cda794b5667f1cce01d55ad") }
> db.selectDatabaseDemo.insertOne({"ClientName":"Carol Taylor","ClientAge":24});
{ "acknowledged": true, "insertedId": ObjectId("5cda79565667f1cce01d55ae") }
แสดงข้อมูลทั้งหมด
db.selectDatabaseDemo.find().pretty();
ผลลัพธ์:
{
"_id": ObjectId("5cda794b5667f1cce01d55ad"),
"ClientName": "John Smith",
"ClientAge": 23
}
{
"_id": ObjectId("5cda79565667f1cce01d55ae"),
"ClientName": "Carol Taylor",
"ClientAge": 24
}
หมายเหตุ
getSiblingDB()ไม่เปลี่ยนบริบทฐานข้อมูลปัจจุบัน (current db context) แต่คืนค่าอ็อบเจกต์ฐานข้อมูลอื่นเพื่อให้ใช้งานได้ทันที- เหมาะสำหรับสคริปต์ที่ต้องทำงานข้ามหลายฐานข้อมูลใน shell เดียว
- วิธีทั่วไปคือใช้
use <dbname>แต่getSiblingDB()ให้ความยืดหยุ่นมากกว่าใน JavaScript