MongoDb - 按顺序插入数组

时间:2015-03-06 06:26:29

标签: mongodb

我有一个json文件的直接插入。来自Json的解析集合的顺序正确,但MongoDb不会以相同的顺序插入它们。

    db.collection('Menu').count({}, function(err, numOfDocs){
    if(err) return callback(err);
    if(numOfDocs === 0){
        var navData = fs.readFileSync('./data/_seed/menu/nav.json', {encoding: 'utf8'});

        // navJson is in the correct order
        var navJson = JSON.parse(navData);

        db.collection('Menu').insert(navJson, function(err, results){
            if(err){
                console.log(err)
            } else {
                console.log('Successful seeding of navigation with ' + results.length + ' items.');
            }
        })
    };
});

我试过_.each无济于事。如何确保MongoDb以与navJson相同的顺序插入项目?

提前致谢。

更新

enter image description here

正如您所看到的,Json中的item [0]是Mongo中的项[5]

1 个答案:

答案 0 :(得分:0)

MongoDB和其他SQL和NoSQL数据库现在保证默认订单。

如果您需要元素的修订顺序,那么您应该在数据结构中创建并使用它进行插入和选择。