jjzjj

javascript - 如何在 mongoose (node.js) 中为产品系统定义不同的属性

我正在构建一个个人商店应用程序,用户可以在其中相互销售商品,但我很难弄清楚如何管理这些产品。例如,如果你想卖一件T恤,你应该可以选择尺码和颜色等。但如果你卖一台电脑,你应该指定年份、CPU功率等。所有产品都有标题、价格、图片等上,但是您将如何处理不同的属性?我正在为对象使用mongodb。我在考虑有一个字段attributes,它应该是一个具有不同细节的对象,然后有一个字段type来定义存在的属性。如果type='Computer那么我会知道attributes看起来像这样。attributes:{capacity:1000//gbram:4096//MB}等等在普通的面向对象设计中,

javascript - 如何在 Mongoose 中构建条件查询?

以下代码适用于无查询字符串或仅适用于一个查询字符串。换句话说,只需转到/characters即可返回所有字符。但是,如果您要指定查询字符串参数/characters?gender=male,它将仅返回男性字符。我如何扩展它以使用1、2、3或无查询字符串?我真的希望避免为每个案例编写8或9个不同的if语句。我希望Mongoose会简单地忽略$where子句,如果它是null或undefined,但事实并非如此(请参阅注释掉的代码).vargender=req.query.gender;varrace=req.query.race;varbloodline=req.query.bloodl

javascript - 向现有 MongoDB 文档添加一个字段(在 Node.js 中使用 Mongoose)

我在MongoDB数据库的Article集合中有这个现有文档:[{site:'www.atlantico.fr',date:'2014-05-27T11:10:19.000Z',link:'http://www.atlantico.fr/example.html',_id:538473817eb00f082f4803fc,__v:0}]我想使用Node.js中的Mongoose添加一个值为'example'的新字段day到此文档。所以我这样做:Article.update({link:'http://www.atlantico.fr/example.html'},{$set:{day:

javascript - 我如何在 Meteor 的 Mongo 查询中使用变量作为字段名称?

我将如何在Meteor应用程序的Mongo查询中使用变量作为字段名称。这是一个例子...在将子项的父ID的集合名称大写后,这会在我的请求Controller集合上运行查找。子项是users字段。window[Meteor.request.controller.capitalise()]["find"]({_id:Session.get('parent_id'),users:params.child}).count()如您所见,我的Controller是集合项的变量名称,它允许我使用一行代码来查找Controller/集合的子项,但我需要能够将子字段名称设置为变量。在上面的示例中,它是u

javascript - Mongoose JS 查询全部返回 null 或空

我正在尝试创建一个简单的MongooseJS示例程序,它从集合中获取项目列表,但每次返回时都是空的。这是代码:varmongoose=require('mongoose'),Schema=mongoose.Schema;varsampleSchema=newSchema({sampleField:String});vardb=mongoose.connect('mongodb://localhost:27017/test');varsampleCollection=mongoose.model('sampleCollection',sampleSchema);sampleCollect

javascript - Node 脚本永远不会结束

我有下面的Node脚本,基本上可以复制一些文件的内容并将它们插入到mongo中。脚本似乎永远不会结束,即使所有数据都已成功插入,我总是必须执行Ctrl+C才能终止它。我应该在node.js中使用什么来结束脚本吗?varmongoose=require('mongoose');mongoose.connect('mongodb://localhost/testdb');vardir='./seeds';vardb=mongoose.connection;//Showconnectionerrorifthereisonedb.on('error',console.error.bind(co

javascript - 为什么 MongoDB 不保存我的属性

我在尝试添加用户时用一些虚拟数据填充我的数据库。创建了一个用户对象,但没有保存任何属性...怎么了?app.get('/setup',function(req,res){User.findOne({name:"Nick"},function(err,user){if(user==undefined){varnick=newUser({name:"Nick",}).save();res.json({"success":true,"msg":"usercreated"});}else{res.json({"success":true,"msg":"userexisted"});}});})

javascript - node-mongodb-native - 游标在每次调用期间返回 null 作为最后一个值

所以。我有一个非常基本的脚本,它连接到数据库并在包含大量文档的集合上执行find并将其限制为3个项目。一切都运行顺利,除了在我的结果结束时,一个null并且脚本不会终止而不是在成功后安静地关闭连接。在这里我声明我的参数并创建我的数据库对象:varSERVER='localhost',PORT=27017,DATABASE='test',COLLECTION='coll',mongo=require('mongodb'),db=newmongo.Db(DATABASE,newmongo.Server(SERVER,PORT,{auto_reconnect:true}),{});在这里,我

javascript - 执行 Mongoose 查询后从未调用的回调函数

以下是我的代码:mongoose.connect('mongodb://localhost/mydatabase');vardb=mongoose.connection;db.on('error',console.error.bind(console,'connectionerror:'));db.once('open',functioncallback(){console.log('DBconnectionopened');});//...vardbCallback=function(err,body){//...};//...varStuffModel=mongoose.model

javascript - MongoDb shell 脚本

您知道是否可以从javascript获取数据库列表(如控制台中的“showdbs”)。我想通过javascript文件(mongoadmin.js)从mongo中删除所有数据库,但我找不到列出所有数据库的方法...谢谢我正在尝试准备简单的脚本,但我无法找到如何从脚本更改数据库。这是示例javascript脚本。它总是在命令“使用”时失败。我尝试使用db.eval和eval,但都失败了。print(db.getMongo().getDBNames());varenvironments=db.getMongo().getDBNames()for(varenvironmentIndexine