谁能告诉我 yii mongodb 中 like 的语法。我想在 mongo db 集合中使用 like as in sql 搜索特定名称。我们如何为此编写查询。
问问题
1135 次
3 回答
1
您可以使用 MongoRegex 对象:http ://php.net/manual/en/class.mongoregex.php ,它与 YiiMongoDBSuite 等组件兼容。
它使用正则表达式在 MongoDB%sammaye%
中的 SQL =中进行匹配。new MongoRegex('/sammaye/')
编辑
sammaye%
您可以new MongoRegex('/^sammaye/')
按照此处的要求进行搜索: https ://stackoverflow.com/questions/13194639/like-function-with-yii-mongo-db
于 2012-11-02T10:17:44.483 回答
0
没有类似的支持。但根据您的要求,您可以使用regex support。
下面是他们的SQL 到 MongoDB 查询映射图表中的示例。
SELECT * FROM users WHERE name LIKE "%Joe%" = db.users.find({name:/Joe/})
SELECT * FROM users WHERE name LIKE "Joe%" = db.users.find({name:/^Joe/})
于 2012-11-02T10:07:42.250 回答
0
如果你在 Yii2 中使用 ActiveRecord,你应该在 where 条件中选择简单的like部分:
ActiveRecord::findOne(['like', 'field', 'query'])
更多信息参见相关文档:http ://www.yiiframework.com/doc-2.0/yii-db-queryinterface.html#where()-detail
或者当然也有可用的PHP 的 MongoDB命令:
$mongo = \Yii::$app->mongodb;
$collection = $mongo->getCollection('your collection name');
$result = $collection->find(['field' => new \MongoDB\BSON\Regex('^stratswith')]);
希望能帮助到你!
于 2017-07-11T07:44:06.903 回答