MongoDB和Perl:维护插入顺序

Pin*_*ade 0 perl mongodb

我一直在愚弄Perl MongoDB库,并且很难弄清楚如何做一些非常简单的事情.

如何在插入时维护数据字段的顺序?我的代码如下:

use MongoDB;
use MongoDB::Database;
use MongoDB::OID;


my $conn = MongoDB::Connection->new;
my $db = $conn->test;
my $users = $db->testlogwiki;


$users->insert
(
   {
     "product" => "WooHoo",
     "errcode" => "WM2001_89873",
     "solution1" => "Hit the computer.",
     "line_text" => "Inserted in Perl too"
   }
);
Run Code Online (Sandbox Code Playgroud)

当我回过头来查看我的MongoDB中如何插入记录时,它看起来像这样:

db.testlogwiki.find([找到它的条件]).pretty();

"_id" : ObjectId("4fc62c2900ece6040c000000"),
"solution1" : "Hit the computer.",
"product" : "WooHoo",
"errcode" : "WM2001_89873",
"line_text" : "Inserted in Perl too"
Run Code Online (Sandbox Code Playgroud)

这不是我想要的订单......我怎么做它我想要的订单?

Ole*_*kov 5

根据定义,Perl和Mongo的BSON哈希值都是无序的.如果您需要以某种方式订购物业,您必须自己跟踪它.

  • 请注意"根据定义".现在shell碰巧使用JavaScript引擎,按照您想要的顺序保存属性,但它可以随时更改,恕不另行通知.您永远不应该依赖于软件中的无证行为.只需检查尝试过的人的哭泣程度:http://code.google.com/p/v8/issues/detail?id = 164. (3认同)