我有一个带Mongoose ODM的NodeJS应用程序(Mongoose 3.3.1).我想从我的集合中检索除1之外的所有字段.例如:我有一个集合Product有6个字段,我想要选择除"Field"字段之外的所有字段.我使用" 排除 "方法,但得到错误..这是我的代码.
var Query = models.Product.find();
Query.exclude('title Image');
if (req.params.id) {
Query.where('_id', req.params.id);
}
Query.exec(function (err, product) {
if (!err) {
return res.send({ 'statusCode': 200, 'statusText': 'OK', 'data': product });
} else {
return res.send(500);
}
});
Run Code Online (Sandbox Code Playgroud)
但这会返回错误
Express
500 TypeError: Object #<Query> has no method 'exclude'.........
Run Code Online (Sandbox Code Playgroud)
我也试过,var Query = models.Product.find().exclude('title','Image');和var Query = models.Product.find({}).exclude('title','Image'); 而得到同样的错误.如何从Mongoose中的集合中排除一个/(两个)特定字段.
尝试使用icCube创建MongoDB数据源.我们的想法是将数组的大小作为新字段返回.就像是 :
$project:
{
"people": 1,
"Count myFieldArray" : {$size : "$myFieldArray" }
}
Run Code Online (Sandbox Code Playgroud)
但我得到一些记录以下错误:
The argument to $size must be an Array, but was of type: EOO
Run Code Online (Sandbox Code Playgroud)
如果字段为空或不是数组(摆脱错误),是否有一种方法大小为0?
我知道这可能是一个愚蠢的问题,但我在电子书上看到upsertMongoDB插入中有一个选项.我找不到有关此问题的适当文件.有人能教育我这个吗?
对于ubuntu 16.04
第1步:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
Run Code Online (Sandbox Code Playgroud)
第2步:
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list
Run Code Online (Sandbox Code Playgroud)
第3步:
sudo apt-get update
Run Code Online (Sandbox Code Playgroud)
第4步:
sudo apt-get install -y mongodb-org
Run Code Online (Sandbox Code Playgroud)
第5步:
sudo service mongod start
Run Code Online (Sandbox Code Playgroud)
当我开始mongodb得到一个错误
"Failed to start mongod.service: Unit mongod.service not found." please help me to solve this.
Run Code Online (Sandbox Code Playgroud) 和Mongo一起2天,我有一个SQL背景所以请耐心等待.与mysql一样,在MySQL命令行中将查询结果输出到机器上的文件非常方便.我试图理解如何在shell中做同样的事情
我可以通过在shell之外并执行以下命令轻松获取我想要的查询的输出:
mongo localhost:27017/dbname --eval "printjson(db.collectionName.findOne())" >> sample.json
Run Code Online (Sandbox Code Playgroud)
上面的方法很好,但它需要我退出mongo shell或打开一个新的终端选项卡来执行此命令.如果我可以在shell内部完成此操作,那将非常方便.
PS:问题是我在SO上发布的问题的一个分支
我在MongoDB中存储了以下文档:
{
name: 'myDoc',
list: [
{
id:1
items:[
{id:1, name:'item1'},
{id:2, name:'item2'}
]
},
{
id:2
items:[
{id:1, name:'item1'},
{id:3, name:'item3'}
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
我找到了一种方法,可以使用"list"添加元素,$addToSet但是找不到添加到项目的"项目"列表的方法.
例如,我得到以下内容:
{id:5, name:'item5'}
Run Code Online (Sandbox Code Playgroud)
我想将它添加到列表中元素的项目,ID为:2.
我有一组文件:
{
"networkID": "myNetwork1",
"pointID": "point001",
"param": "param1"
}
{
"networkID": "myNetwork2",
"pointID": "point002",
"param": "param2"
}
{
"networkID": "myNetwork1",
"pointID": "point003",
"param": "param3"
}
...
Run Code Online (Sandbox Code Playgroud)
pointID是唯一的,但networkID不是.
是否可以以这样的方式查询Mongodb:结果将是:[myNetwork1,myNetwork2]
现在我只设法返回[myNetwork1,myNetwork2,myNetwork1]
我需要一个唯一的networkID列表来填充自动完成select2组件.由于我可能有多达50K的文档,我更希望mongoDb在查询级别过滤结果.
什么之间的差异insert(),insertOne()以及insertMany()对MongoDB的方法.在什么情况下我应该使用每一个?
我阅读了文档,但是使用每个文档时都不清楚.
如何将MongoDB命令的结果导出到平面文件
例如,如果我要db.collectionname.find()进入平面文件.
我试过db.collectionname.find() >> "test.txt"似乎没有工作.
我有文档文件夹的以下模式:
var permissionSchema = new Schema({
role: { type: String },
create_folders: { type: Boolean },
create_contents: { type: Boolean }
});
var folderSchema = new Schema({
name: { type: string },
permissions: [ permissionSchema ]
});
Run Code Online (Sandbox Code Playgroud)
因此,对于每个页面,我可以拥有许多权限.在我的CMS中有一个面板,我列出了所有文件夹及其权限.管理员可以编辑单个权限并保存.
我可以使用其权限数组轻松保存整个Folder文档,其中只修改了一个权限.但我不想保存所有文档(真正的架构有更多字段)所以我这样做:
savePermission: function (folderId, permission, callback) {
Folder.findOne({ _id: folderId }, function (err, data) {
var perm = _.findWhere(data.permissions, { _id: permission._id });
_.extend(perm, permission);
data.markModified("permissions");
data.save(callback);
});
}
Run Code Online (Sandbox Code Playgroud)
但问题是烫发总是未定义的!我尝试以这种方式"静态地"获取权限:
var perm = data.permissions[0]; …Run Code Online (Sandbox Code Playgroud) mongodb ×10
mongodb-query ×10
javascript ×2
mongoose ×2
iccube ×1
io ×1
mean-stack ×1
mongo-shell ×1
mongodb-java ×1
node.js ×1
nosql ×1
ubuntu ×1