2013-03-08 42 views
0

第一次使用mongodb。 我在服务器端使用node.js和mongojs。有点困惑。 db.save的逆转是找到了,我希望能够做类似的东西:MongoDB保存集合类型 - 另一种方式?

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); 

将在上述工作?

+0

db.furni.find(type:“chair”,material:“plastic”)''有什么问题? – 2013-03-08 20:23:45

回答

1

这绝对不是正确的方法......首先,它非常适合RDBMS的思维方式(关系数据库...)。其次,如果你希望能够做这样的事情:

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

那么这纯粹是:

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

注意什么要传递到发现是一个对象,所以你不能指望以逗号分隔格式传递字符串或其他变量的东西,更不用说认为您可以通过这种方式引用您的类型模型(db.furni_types!=数据库中数据的直接访问者,它是您拥有的接口到“找”)。

所以,只要看看你发布的内容和我的建议,你也会看到,如果你必须在两者中都键入“椅子”,而不管两者是什么,你期望从你的提出的方法?

+0

现在你完全了解我的想法。我想我只是想着想一想项目的未来。将来,我想根据一定的标准来做事。另一件事是,我没有真正分离数据库的东西和JavaScript的东西。这两个人彼此非常密切地工作,但没有那么接近。 – 2013-03-09 04:50:59

+0

@LeviRoberts - 如果你还没有看过它,你可能还会喜欢猫鼬。它将为诸如嵌入和链接文档之类的东西提供大量语法糖,并可能提供更多您似乎在寻找的语法糖。 – 2013-03-09 20:17:01

+0

谢谢尼克!我确实看了一下猫鼬。关于我的头顶,我不记得我为什么不选择它。我确实相信这是因为学习曲线。使用mongojs之后,我发现它更像mongo客户端命令,因此很容易找到。 – 2013-03-10 04:32:23

相关问题