0

第一次使用mongodb。我在服务器端使用 node.js 和 mongojs。有点困惑。db.save 的反转是 find,我希望能够做类似的事情:

 db.furni.find( db.furni_types.chair, db.furni_types.chair.plastic );

当前设置:

// Chair types
db.furni_types.save({ type: "chair", material: "wood" });
db.furni_types.save({ type: "chair", material: "plastic" });
db.furni_types.save({ type: "chair", material: "beanbag" });

// other furni types
db.furni_types.save({ type: "bed", material: "silk" });
db.furni_types.save({ type: "table", effect: "glass" });


db.furni.save({id: "13626450", name: "ComfyMan", type: "chair", material: "wood", description: "The most comfortable chair in extistence."});

几个问题:

我是以正确的方式解决这个问题还是什么?

如果我以后想将它们用作对象,在 db.furni.save(type: "chair", material: "wood") 中找到的数组是否足够?

如果我想做类似的事情怎么办:

 db.furni.save( name: "Super Comfort", db.furni_types.chair, db.furni_types.chair.wood );

上面的方法有用吗?

4

1 回答 1

1

这绝对不是正确的方法……首先,它是一种关系数据库管理系统的思维方式,(关系数据库……)。其次,如果您希望能够执行以下操作:

db.furni.find( db.furni_types.chair, db.furni_types.chair.plastic );

那么它就是:

db.furni.find({type: "chair", material:"plastic"});

请注意,您传递给 find 的是一个对象,因此您不能只期望以逗号分隔格式从其他变量传递字符串或其他内容,更不用说认为您可以以这种方式引用您的类型模型(db.furni_types !=数据库中数据的直接访问器,它是您必须“查找”的接口)。

因此,只需查看您发布的内容和我的建议,您还会看到,如果您必须在两者中都输入“椅子”,并且在两者中都输入“塑料”,那么您希望从您提出的方法中获得什么价值?

于 2013-03-08T22:28:04.553 回答