Docs Menu

ใ‚ณใƒณใ‚ฝใƒผใƒซใงใฎใ‚นใƒ‹ใƒšใƒƒใƒˆใฎไฝฟ็”จ

่ญฆๅ‘Š

ใ“ใฎๆฉŸ่ƒฝใฏๅฎŸ้จ“็š„ใชๆฉŸ่ƒฝใงใ™ใ€‚ MongoDB ใฏ ใ‚นใƒ‹ใƒšใƒƒใƒˆ ใฎใ‚ตใƒใƒผใƒˆใ‚’ๆไพ›ใ—ใฆใ„ใพใ›ใ‚“ใ€‚ ใ“ใฎๆฉŸ่ƒฝใฏใ€ไบ‹ๅ‰ใฎ้€š็Ÿฅใชใ—ใซใ„ใคใงใ‚‚ๅค‰ๆ›ดใพใŸใฏๅ‰Š้™คใ•ใ‚Œใ‚‹ๅฏ่ƒฝๆ€งใŒใ‚ใ‚Šใพใ™ใ€‚

ใƒใ‚ฐใฏไบˆๆœŸใ•ใ‚Œใฆใ„ใชใ„ใŒใ€ใƒใ‚ฐใŒ็™บ็”Ÿใ—ใŸๅ ดๅˆใฏGithub ใƒชใƒใ‚ธใƒˆใƒช ใงๅ•้กŒใ‚’้–‹ใ„ใฆใใ ใ•ใ„ใ€‚ ใ“ใฎใƒ—ใƒญใ‚ธใ‚งใ‚ฏใƒˆใงใฏใ€

ใ“ใฎใƒšใƒผใ‚ธใงใฏใ€ mongoshใ‚ณใƒณใ‚ฝใƒผใƒซใงใฎใ‚นใƒ‹ใƒšใƒƒใƒˆใฎๆ“ไฝœใฎๆฆ‚่ฆใ‚’่ชฌๆ˜Žใ—ใพใ™ใ€‚

ใ‚นใƒ‹ใƒšใƒƒใƒˆ ใƒ‘ใƒƒใ‚ฑใƒผใ‚ธใฏใ€ไฝฟ็”จใ™ใ‚‹ๅ‰ใซใ‚คใƒณใ‚นใƒˆใƒผใƒซใ™ใ‚‹ๅฟ…่ฆใŒใ‚ใ‚Šใพใ™ใ€‚ ใ‚นใƒ‹ใƒšใƒƒใƒˆ ใƒ‘ใƒƒใ‚ฑใƒผใ‚ธใŒใ‚คใƒณใ‚นใƒˆใƒผใƒซใ•ใ‚Œใ‚‹ใจใ€ mongoshใ‚’่ตทๅ‹•ใ™ใ‚‹ใŸใณใซ่ชญใฟ่พผใพใ‚Œใพใ™ใ€‚

ใ‚คใƒณใ‚นใƒˆใƒผใƒซใ™ใ‚‹ใ‚นใƒ‹ใƒšใƒƒใƒˆใฎๅๅ‰ใŒใ‚ใ‹ใฃใฆใ„ใ‚‹ๅ ดๅˆใฏใ€ๆฌกใฎใ‚ˆใ†ใซๅ…ฅๅŠ›ใ—ใพใ™ใ€‚

snippet install <name>

ใใ‚Œไปฅๅค–ใฎๅ ดๅˆใฏใ€ใƒชใƒใ‚ธใƒˆใƒชใ‚’ๆคœ็ดขใ—ใฆใ€ไฝฟ็”จๅฏ่ƒฝใชใ‚นใƒ‹ใƒšใƒƒใƒˆใฎใƒชใ‚นใƒˆใ‚’ๅ–ๅพ—ใ—ใพใ™ใ€‚

snippet search

ใ‚นใƒ‹ใƒšใƒƒใƒˆใŒใ‚คใƒณใ‚นใƒˆใƒผใƒซใ•ใ‚ŒใŸใ‚‰ใ€ใ€Œ y ใ€ใจๅ…ฅๅŠ›ใ—ใฆ่ชญใฟ่พผใฟใพใ™ใ€‚

Running install...
Installed new snippets analyze-schema. Do you want to load them now? [Y/n]: y
Finished installing snippets: analyze-schema

ๆณจๆ„

ใ‚นใƒ‹ใƒšใƒƒใƒˆใ‚’ๅˆใ‚ใฆไฝฟ็”จใ™ใ‚‹ๅ ดๅˆใฏใ€ๆฌกใฎใ‚ˆใ†ใช่ญฆๅ‘ŠใŒ่กจ็คบใ•ใ‚Œใ‚‹ใ“ใจใŒใ‚ใ‚Šใพใ™ใ€‚

This operation requires downloading a recent release of npm. Do
you want to proceed? [Y/n]:

ใ‚นใƒ‹ใƒšใƒƒใƒˆใ‚’ไฝฟ็”จใ™ใ‚‹ใซใฏ npm ใ‚’ใ‚คใƒณใ‚นใƒˆใƒผใƒซใ™ใ‚‹ๅฟ…่ฆใŒใ‚ใ‚Šใพใ™ใ€‚

ๆ–ฐใ—ใ„ใ‚นใƒ‹ใƒšใƒƒใƒˆใ‚’ๅฎŸ่กŒใ™ใ‚‹ๅ‰ใซใ€ snippet help <SNIPPET NAME>ใ‚’ๅฎŸ่กŒใ—ใฆใ‚นใƒ‹ใƒšใƒƒใƒˆใฎๆฉŸ่ƒฝใฎ่ฉณ็ดฐใ‚’ๅญฆ็ฟ’ใ—ใพใ™ใ€‚

ใŸใจใˆใฐใ€ snippet help analyze-schemaใฏใ€ใ‚ณใƒฌใ‚ฏใ‚ทใƒงใƒณๅใ‚’ๆธกใ™ใ“ใจใงanalyze-schemaใ‚’ไฝฟ็”จใงใใ‚‹ใ“ใจใ‚’็คบใ—ใพใ™ใ€‚

testDB> snippet help analyze-schema
# analyze-schema
Analyze the schema of a collection or a cursor.
```js
> schema(db.coll);
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ (index) โ”‚ 0 โ”‚ 1 โ”‚ 2 โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ 0 โ”‚ '_id' โ”‚ '100.0 %' โ”‚ 'ObjectID' โ”‚
โ”‚ 1 โ”‚ 'a ' โ”‚ '50.0 %' โ”‚ 'Number' โ”‚
โ”‚ 2 โ”‚ 'a ' โ”‚ '50.0 %' โ”‚ 'String' โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

ใ‚นใƒ‹ใƒšใƒƒใƒˆใ‚’ๅ‘ผใณๅ‡บใ™ๆ–นๆณ•ใŒใ‚ใ‹ใฃใŸใ‚‰ใ€ๆฌกใฎไพ‹ใฎใ‚ˆใ†ใซไฝฟ็”จใงใใพใ™ใ€‚

reservations ใ‚ณใƒฌใ‚ฏใ‚ทใƒงใƒณใ‚’่€ƒๆ…ฎใ—ใพใ™ใ€‚

db.reservations.insertMany( [
{"_id": 1001, "roomNum": 1, "reserved": true },
{"_id": 1002, "roomNum": 2, "reserved": true },
{"_id": 1003, "roomNum": 3, "reserved": "false" },
{"_id": 1004, "roomNum": 4, "reserved": true },
] )

ใ‚ณใƒฌใ‚ฏใ‚ทใƒงใƒณใ‚’ๅˆ†ๆžใ™ใ‚‹ใซใฏใ€ analyze-schemaใ‚นใƒ‹ใƒšใƒƒใƒˆใ‚’ใ‚คใƒณใ‚นใƒˆใƒผใƒซใ—ใพใ™๏ผˆใพใ ๅญ˜ๅœจใ—ใชใ„ๅ ดๅˆใฏใ€ใ‚ณใƒฌใ‚ฏใ‚ทใƒงใƒณๅใ‚’ๆธกใ—ใฆๅฎŸ่กŒใ—ใพใ™๏ผ‰ใ€‚

snippet install analyze-schema
schema(db.reservations)

"_id": 3ใ‚’ๅซใ‚€ใƒ‰ใ‚ญใƒฅใƒกใƒณใƒˆใŒ string ใจใ—ใฆ่ชคๅ…ฅๅŠ›ใ•ใ‚Œใพใ—ใŸใ€‚ ๅˆ†ๆžใซใ‚ˆใ‚‹ใจใ€ reservedใƒ•ใ‚ฃใƒผใƒซใƒ‰ใซใฏไบˆๆƒณใ•ใ‚Œใ‚‹ใƒ–ใƒผใƒซๅ€คใซๅŠ ใˆใฆ string ่ฆ็ด ใŒใ‚ใ‚‹ใ“ใจใŒ็คบใ•ใ‚Œใฆใ„ใพใ™ใ€‚

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ (index) โ”‚ 0 โ”‚ 1 โ”‚ 2 โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ 0 โ”‚ '_id ' โ”‚ '100.0 %' โ”‚ 'Number' โ”‚
โ”‚ 1 โ”‚ 'reserved' โ”‚ '75.0 %' โ”‚ 'Boolean' โ”‚
โ”‚ 2 โ”‚ 'reserved' โ”‚ '25.0 %' โ”‚ 'String' โ”‚
โ”‚ 3 โ”‚ 'roomNum ' โ”‚ '100.0 %' โ”‚ 'Number' โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

ใ‚นใƒ‹ใƒšใƒƒใƒˆใ‚’ๅ‰Š้™คใ™ใ‚‹ใซใฏใ€ snippet uninstallใ‚ณใƒžใƒณใƒ‰ใ‚’ไฝฟ็”จใ—ใพใ™ใ€‚ ๅๅ‰ใŒไธๆ˜Žใชๅ ดๅˆใ€ snippet lsใ‚ณใƒžใƒณใƒ‰ใฏใ‚คใƒณใ‚นใƒˆใƒผใƒซใ•ใ‚ŒใŸใ™ในใฆใฎใ‚นใƒ‹ใƒšใƒƒใƒˆใ‚’ไธ€่ฆง่กจ็คบใ—ใพใ™ใ€‚

ใ“ใฎใ‚ณใƒผใƒ‰ ใ‚นใƒ‹ใƒšใƒƒใƒˆใฏใ€ analyze-schemaใ‚’ใ‚ขใƒณใ‚คใƒณใ‚นใƒˆใƒผใƒซใ—ใพใ™ใ€‚

snippet uninstall analyze-schema

snippet lsใ‚ณใƒžใƒณใƒ‰ใฏใ€ใƒญใƒผใ‚ซใƒซใซใ‚คใƒณใ‚นใƒˆใƒผใƒซใ•ใ‚ŒใŸใ‚นใƒ‹ใƒšใƒƒใƒˆใฎใƒชใ‚นใƒˆใจใƒใƒผใ‚ธใƒงใƒณใŠใ‚ˆใณใ‚ฝใƒผใ‚นๆƒ…ๅ ฑใ‚’่ฟ”ใ—ใพใ™ใ€‚

snippets@ /root/.mongodb/mongosh/snippets
โ”œโ”€โ”€ mongosh:PRIVATE..DecryptCards@1.0.5
โ”œโ”€โ”€ mongosh:analyze-schema@1.0.5
โ””โ”€โ”€ npm@7.23.0

ใƒฌใ‚ธใ‚นใƒˆใƒชใงไฝฟ็”จใงใใ‚‹ใ‚นใƒ‹ใƒšใƒƒใƒˆใ‚’็ขบ่ชใ™ใ‚‹ใซใฏใ€ใพใšใƒญใƒผใ‚ซใƒซ ใƒกใ‚ฟใƒ‡ใƒผใ‚ฟ ใ‚ญใƒฃใƒƒใ‚ทใƒฅใ‚’refreshใ—ใ€ๆฌกใซsearchใ—ใพใ™ใ€‚

snippet refresh
snippet search

snippet search ไฝฟ็”จๅฏ่ƒฝใชใ‚นใƒ‹ใƒšใƒƒใƒˆใจใใฎใƒใƒผใ‚ธใƒงใƒณใ‚’ไธ€่ฆง่กจ็คบใ—ใ€็ฐกๅ˜ใช่ชฌๆ˜Žใ‚’ๆไพ›ใ—ใพใ™ใ€‚

ใ“ใฎใ‚คใƒณใ‚นใ‚ฟใƒณใ‚นใซใฏ 2 ใค็›ฎใฎใƒ—ใƒฉใ‚คใƒ™ใƒผใƒˆ ใƒฌใ‚ธใ‚นใƒˆใƒชใŒๆง‹ๆˆใ•ใ‚Œใฆใ„ใพใ™ใ€‚ ใƒ—ใƒฉใ‚คใƒ™ใƒผใƒˆ ใƒฌใ‚ธใ‚นใƒˆใƒชใŒๆœ€ๅˆใซใƒชใ‚นใƒˆใ•ใ‚Œใฆใ„ใŸใŸใ‚ใ€ใใ‚Œใ‚‰ใฎใ‚นใƒ‹ใƒšใƒƒใƒˆใฏไฝฟ็”จๅฏ่ƒฝใชใ‚นใƒ‹ใƒšใƒƒใƒˆใฎใƒชใ‚นใƒˆใฎ MongoDB ใ‚นใƒ‹ใƒšใƒƒใƒˆใ‚ˆใ‚Šใ‚‚ๅ„ชๅ…ˆใ•ใ‚Œใพใ™ใ€‚

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ (index) โ”‚ name โ”‚ version โ”‚ description โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ 0 โ”‚ 'PRIVATE..DecryptCards' โ”‚ '1.0.5' โ”‚ 'Decrypt credit card numbers' โ”‚
โ”‚ 1 โ”‚ 'PRIVATE..updateAuthentication' โ”‚ '1.0.2' โ”‚ 'Update user pwds and authentication' โ”‚
โ”‚ 2 โ”‚ 'resumetoken' โ”‚ '1.0.2' โ”‚ 'Resume token decoder script' โ”‚
โ”‚ 3 โ”‚ 'mongocompat' โ”‚ '1.0.7' โ”‚ 'mongo compatibility script for mongosh' โ”‚
โ”‚ 4 โ”‚ 'spawn-mongod' โ”‚ '1.0.1' โ”‚ 'Spin up a local mongod process' โ”‚
โ”‚ 5 โ”‚ 'mock-collection' โ”‚ '1.0.2' โ”‚ 'mockCollection([{ a: 1 }, { a: 2 }]).find({ a: { $gt: 2 } })' โ”‚
โ”‚ 6 โ”‚ 'analyze-schema' โ”‚ '1.0.5' โ”‚ 'schema(db.coll)' โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

ๅ„ใ‚นใƒ‹ใƒšใƒƒใƒˆ ใƒชใƒใ‚ธใƒˆใƒชใฎใƒ›ใƒผใƒ ใƒšใƒผใ‚ธใจ URL ใ‚’่กจ็คบใ—ใพใ™ใ€‚

snippet info

ๅ‡บๅŠ›ใซใฏๅ„ใƒชใƒใ‚ธใƒˆใƒชใŒไธ€่ฆง่กจ็คบใ•ใ‚Œใพใ™ใ€‚

Snippet repository URL: https://github.com/YOUR_COMPANY/YOUR_REPO_PATH/index.bson.br
--> Homepage: https://davemungo.github.io/mongosh-snippets/
Snippet repository URL: https://compass.mongodb.com/mongosh/snippets-index.bson.br
--> Homepage: https://github.com/mongodb-labs/mongosh-snippets

ๅ„ใ‚นใƒ‹ใƒšใƒƒใƒˆใฏไธ€ๆ„ใงใ‚ใ‚Šใ€็‹ฌ่‡ชใฎใ‚คใƒณใ‚ฟใƒผใƒ•ใ‚งใƒผใ‚นใŒใ‚ใ‚Šใพใ™ใ€‚ ็‰นๅฎšใฎใ‚นใƒ‹ใƒšใƒƒใƒˆใŒใฉใฎใ‚ˆใ†ใซๅ‹•ไฝœใ™ใ‚‹ใ‹ใซ้–ขใ™ใ‚‹ๆƒ…ๅ ฑใ‚’่ฆ‹ใคใ‘ใ‚‹ๆœ€้ฉใชๆ–นๆณ•ใฏใ€ snippet helpใ‚’ๅฎŸ่กŒใ—ใฆใใฎREADMEใƒ•ใ‚กใ‚คใƒซใ‚’่กจ็คบใ™ใ‚‹ใ“ใจใงใ™ใ€‚

snippet help mongocompat

ใ“ใฎใ‚ณใƒžใƒณใƒ‰ใฏREADME mongocomat ใฎmongosh ใƒ•ใ‚กใ‚คใƒซใ‚’่กจ็คบใ—ใพใ™ ใ‚ณใƒณใ‚ฝใƒผใƒซใฎ ใ‚นใƒ‹ใƒšใƒƒใƒˆใ€‚

# mongocompat
Provide `mongo` legacy shell compatibility APIs.
```js
> Array.sum([1, 2, 3])
6
> tojsononeline({a:1,b:2,c:3})
{ "a" : 1, "b" : 2, "c" : 3 }
```

็‹ฌ่‡ชใฎใ‚นใƒ‹ใƒšใƒƒใƒˆ ใƒ‘ใƒƒใ‚ฑใƒผใ‚ธใ‚’ไฝœๆˆใ™ใ‚‹ๅ ดๅˆใฏใ€ไพฟๅˆฉใชใƒ˜ใƒซใƒ—ใ‚’ๆไพ›ใ™ใ‚‹README.mdใƒ•ใ‚กใ‚คใƒซใ‚’ๅฟ…ใšๅซใ‚ใฆใใ ใ•ใ„ใ€‚