Skip to content

Commit 11a2601

Browse files
DOCSP-38416 Index Usage Examples (#72)
1 parent 335eb40 commit 11a2601

File tree

5 files changed

+437
-109
lines changed

5 files changed

+437
-109
lines changed

snooty.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ toc_landing_pages = [
66
"/read",
77
"/connect",
88
"/indexes",
9+
"work-with-indexes",
910
"/aggregation",
1011
"/aggregation/aggregation-tutorials",
1112
"/security",
Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
# start-single-field
2+
result = collection.create_index("<field name>")
3+
4+
print(f'Index created: {result}')
5+
# end-single-field
6+
7+
# start-compound
8+
result = collection.create_index([
9+
("<field name one>", pymongo.ASCENDING),
10+
("<field name two>", pymongo.ASCENDING)
11+
])
12+
13+
print(f"Index created: {result}")
14+
# end-compound
15+
16+
# start-multikey
17+
result = collection.create_index("<array field name>")
18+
19+
20+
print(f'Index created: {result}')
21+
# end-multikey
22+
23+
# start-search-create
24+
index = {
25+
"definition": {
26+
"mappings": {
27+
"dynamic": True
28+
}
29+
},
30+
"name": "<index name>",
31+
}
32+
33+
collection.create_search_index(index)
34+
# end-search-create
35+
36+
# start-search-list
37+
results = list(collection.list_search_indexes())
38+
39+
print('Existing search indexes:\n')
40+
for index in results:
41+
print(index)
42+
# end-search-list
43+
44+
# start-search-update
45+
new_index = {
46+
"definition": {
47+
"mappings": {
48+
"dynamic": True
49+
}
50+
},
51+
"name": "<index name>",
52+
}
53+
54+
collection.update_search_index("<name of index to update>", new_index)
55+
56+
print(f"Search index updated: {result}")
57+
# end-search-update
58+
59+
# start-search-drop
60+
collection.drop_index("<index name>")
61+
62+
print(f"Search index deleted: {result}")
63+
# end-search-drop
64+
65+
# start-text
66+
result = collection.create_index(
67+
[( "<field name>", "text")],
68+
default_language="english",
69+
weights={ "<field name>": 10 }
70+
)
71+
72+
print(f"Index created: {result}")
73+
# end-text
74+
75+
# start-geo
76+
result = collection.create_index([("<GeoJSON object field>", "2dsphere")])
77+
78+
print(f'Index created: {result}')
79+
# end-geo
80+
81+
# start-unique
82+
result = collection.create_index("<field name>", unique=True)
83+
84+
print(f"Index created: {result}")
85+
# end-unique
86+
87+
# start-wildcard
88+
result = collection.create_index({"$**": pymongo.ASCENDING})
89+
90+
print(f'Index created: {result}')
91+
# end-wildcard
92+
93+
# start-clustered
94+
collection = database.create_collection("<collection name>", clusteredIndex={
95+
"key": {"_id": 1},
96+
"unique": True
97+
})
98+
# end-clustered
99+
100+
# start-remove
101+
collection.drop_index("<index_name>")
102+
# end-remove

0 commit comments

Comments
 (0)