gpt4 book ai didi

MongoDB 类型顺序

转载 作者:IT老高 更新时间:2023-10-28 13:28:40 26 4
gpt4 key购买 nike

我在 MongoDB 中有这个集合。它包含
val键下不同类型的值。
另外,请注意,我按 val 升序对其进行排序。

[test] 2014-02-20 08:53:11.857 >>> db.account.find().sort({val:1});
{
"_id" : ObjectId("5304d25786dd4b348bcc2b2e"),
"username" : "usr10",
"password" : "123",
"val" : [ ]
}
{
"_id" : ObjectId("5304d29986dd4b348bcc2b2f"),
"username" : "usr20",
"password" : "456",
"val" : null
}
{
"_id" : ObjectId("5304e31686dd4b348bcc2b37"),
"username" : "usr80",
"password" : "555",
"val" : 1
}
{
"_id" : ObjectId("5304d50a86dd4b348bcc2b32"),
"username" : "usr50",
"password" : "555",
"val" : [
40
]
}
{
"_id" : ObjectId("5304d4c886dd4b348bcc2b31"),
"username" : "usr40",
"password" : "777",
"val" : 200
}
{
"_id" : ObjectId("5304d2a186dd4b348bcc2b30"),
"username" : "usr30",
"password" : "888",
"val" : {

}
}
{
"_id" : ObjectId("5304d97786dd4b348bcc2b33"),
"username" : "usr50",
"password" : "555",
"val" : {
"ok" : 1
}
}
{
"_id" : ObjectId("5304e2dc86dd4b348bcc2b36"),
"username" : "usr80",
"password" : "555",
"val" : true
}
{
"_id" : ObjectId("5304e22f86dd4b348bcc2b34"),
"username" : "usr60",
"password" : "555",
"val" : ISODate("2014-02-19T16:56:15.787Z")
}
{
"_id" : ObjectId("5304e2c786dd4b348bcc2b35"),
"username" : "usr70",
"password" : "555",
"val" : /abc/
}
[test] 2014-02-20 08:53:19.357 >>>

我正在读一本书,上面写着以下内容。

MongoDB 有一个关于类型比较的层次结构。有时你会有
具有多种类型的单个键:例如,整数和 bool 值,或字符串
和空值。如果您对混合类型的键进行排序,则有一个预定义的
它们将被排序的顺序。从最小到最大的值,这个排序
如下:
1.最小值
2.空
3. 数字(整数、长整数、 double )
4.字符串
5. 对象/文件
6.数组
7.二进制数据
8.对象ID
9. bool
10.日期
11.时间戳
12.正则表达式
13.最大值

那么为什么我的排序顺序不同?例如,
当我排序(见上文)时,我看到了这些奇怪的东西:

1) 我不知道“最小值”和“最大值”是什么意思。

2) 数组位于数字之前。还有一个空
数组甚至在 null 之前。

3) 数字 1 在数组之前

4) 数组 [40] 介于数字 1 和 200 之间。

有人能详细解释一下这个结果吗?
非常感谢。

最佳答案

你的书和 official documentation 说的一样.但这也不能解释两个数组的模糊排序顺序。至少说明Minimum valueMaximum value这两种类型。它们是内部的。

关于MongoDB 类型顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21886149/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com